シングルトン オブジェクト プロパティから QML プロパティにバインドする方法について質問があります。しかし、QML プロパティをシングルトン オブジェクトにバインドしたい場合はどうでしょうか。
シングルトンクラスの定義は次のとおりです。
class Singleton : public QObject {
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName)
public:
explicit Singleton(QObject *parent = nullptr);
QString name() const;
void setName(const QString &name);
private:
QString m_name;
};
そしてQMLで
property string qmlName: textField.text
TextField {
id: textField
}
textField.text
Singleton オブジェクトのプロパティにバインドしたいと思いname
ます。次のような回避策でバインドすることが可能です。
onQmlNameChanged: {
Singleton.name = qmlName;
}
しかし、これは代入であるため、実際にはプロパティ バインディングにはなりません。
では、シングルトン オブジェクト プロパティへのより自然なバインディング方法はありますか?