3

私はQmlを初めて使用し、javascriptハンドラーをプロパティのシグナルに接続するのに問題があります。プロパティとシグナルを持つC++オブジェクトがあります。

class CppObject : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QVariant value READ getValue WRITE setValue NOTIFY valueChanged)

signals:
    void valueChanged(const QVariant &);
};

オブジェクトはC++ファクトリメソッドを介して作成され、値と変更をQmlプロパティにバインドできます。これはすべて機能します。

property CppObject obj: cppProxy.PropertyFactory("foo");

Text
{
    x: 100;
    y: 100;
    text: parent.obj.value;
}

一部のプロパティでは、valueChangedシグナルをjavascript関数に接続したいと思います。私はQmlのドキュメントを何度も調べてきましたが、運が悪かったのでたくさんのことを試しました。私はこのようなものがうまくいくはずだと思いましたが、うまくいきません

function objEventHandler()
{
    console.log('objEventHandler() ran')
}

Component.onCompleted:
{
    obj.value.valueChanged.connect(objEventHandler);
}

これを行うための最良の方法は何ですか?

4

2 に答える 2

2

接続オブジェクトを使用するのは簡単です。

Connections
{
    target: obj;
    onValueChanged: console.log('changed');
}
于 2013-02-15T18:46:45.850 に答える