メインプログラムでインスタンス化したオブジェクトがあり、それを QML View に渡しました。が定義されていましたQ_PROPERTY
。イベントリスナーをNOTIFY
シグナルに設定する方法を教えてください。
1 に答える
1
私の理解が正しければ、この Qt DevNet フォーラムの投稿には、あなたと同様の設定があります。その場合にのみ、シグナル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++ のメイン メソッドで次のようにします。
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
}
}
于 2012-05-03T10:06:07.403 に答える