我们有一个我们在主程序中实例化的对象并将其传递给 QML 视图。定义了一个Q_PROPERTY
. 我想知道如何设置事件监听器来NOTIFY
发出信号?
问问题
424 次
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 回答