可变engine
在以下典型main
一个的功能QtApp
是的有效实例QQmlApplicationEngine
。
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
return app.exec();
}
是否有可能获得访问的对象QQmlApplicationEngine
一个函数里面QQuickItem
派生类? 如果是的话,怎么样?
class TestItem : public QQuickItem {
public:
TestItem();
SomeMethod() {
// Is it possible to get access to QQmlApplicationEngine here somehow ?
}
}
需要注意的是TestItem
登记在qml
侧与在主窗口中显示出来。 我知道我可以通过QQmlApplicationEngine
的main
方法。 但是,我有一种预感,因为我TestItem
是窗口的一部分和持有的上下文。 应该有办法让一个对象或指针QQmlApplicationEngine
,而不必从传main
的方法?
目标:使用QQmlApplicationEngine
我能访问QQuickItem
在我main.qml
这样做:
QQuickItem *some_quick_item = qml_engine->rootObjects()[0]->findChild<QQuickItem*>("SomeQuickItem");
所以这样做,我想给QQmlApplicationEngine
。 如果那里有一种方式来获得访问其他QQuickItem
从一个内部当时的请建议。