0
主なプログラムに組み込まれているオブジェクトがあり、それをQML Viewに渡しました。 Q_PROPERTY
が定義されています。私はどのようにNOTIFY
信号にイベントのリスナーを設定するのだろうか?QDeclarativeViewから受け取ったQMLオブジェクトにイベントリスナーを設定するにはどうすればよいですか?
主なプログラムに組み込まれているオブジェクトがあり、それをQML Viewに渡しました。 Q_PROPERTY
が定義されています。私はどのようにNOTIFY
信号にイベントのリスナーを設定するのだろうか?QDeclarativeViewから受け取ったQMLオブジェクトにイベントリスナーを設定するにはどうすればよいですか?
私が正しく理解していれば、this Qt DevNet forum postにはあなたに似た設定があります。その場合にのみ、READ
関数を定義しており、関数はsomethingHappened
シグナルを送出します。実際の例の最後のコメントまでスクロールしてください。要約すると
、あなたはCで定義されているこのような何か++のヘッダファイルがあります。
class SomeClass : public QObject {
Q_OBJECT
Q_PROPERTY(sometype someProperty READ getSomeProperty NOTIFY somePropertyChanged)
signals:
void somePropertyChanged();
};
QML_DECLARE_TYPE(SomeClass)
をあなたのC++ mainメソッドでは、このような何か:
qmlRegisterType<SomeClass>("SomeModule", 1, 0, "SomeClass");
SomeClass myObj;
QDeclarativeView view;
view.rootContext()->setContextProperty("rootItem", (SomeClass *)&myObj);
その後QML側にあなたが扱うでしょうそれはこのようです:
import SomeModule 1.0
SomeClass {
onSomePropertyChanged: {
// do stuff
}
}
質問は少し不明です。 C++で定義されたプロパティから送出されたシグナルをQMLコードで処理するようにしますか? – teukkam