Q_PROPERTY(Type
Name READ Get##
Name MEMBER m_##
Name USER
true) \
public: \
Type Get##
Name()
const {
return m_##
Name; } \
template <class T> \
void set##
Name(
const T& value) \
requires (std::is_same_v<T, QString> || \
std::is_same_v<T, QStringList> || \
std::is_same_v<T, QDateTime> || \
std::is_same_v<T, QVariantMap> || \
std::is_same_v<T, QVariantList>) \
template <class T> \
void set##
Name(T value) \
requires (!std::is_same_v<T, QString> && \
!std::is_same_v<T, QStringList> && \
!std::is_same_v<T, QDateTime> && \
!std::is_same_v<T, QVariantMap> && \
!std::is_same_v<T, QVariantList>) \
private: \