#ifndef KZQPROPERTY_H #define KZQPROPERTY_H #include #include #include namespace KaZoe { class KzQPropertyPrivate; class KzQProperty : public QObject { Q_OBJECT Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged) Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged) public: explicit KzQProperty(QObject *parent = nullptr); ~KzQProperty(); QString key() const; void setKey(const QString &newKey); QVariant value() const; void setValue(const QVariant &newValue); signals: void keyChanged(); void valueChanged(); private: Q_DISABLE_COPY(KzQProperty) Q_DECLARE_PRIVATE(KzQProperty) QScopedPointer d_ptr; }; }; #endif // KZQPROPERTY_H