engine
以下 a 的典型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
frommain
方法。但是,我有一种预感,因为 myTestItem
是窗口的一部分并拥有上下文。应该有一种方法可以获取对象或指针QQmlApplicationEngine
而不必从main
方法传递?
目标:使用QQmlApplicationEngine
I 可以访问QQuickItem
my中main.qml
的 s :
QQuickItem *some_quick_item = qml_engine->rootObjects()[0]->findChild<QQuickItem*>("SomeQuickItem");
所以为了做到这一点,我想要QQmlApplicationEngine
. 如果有一种方法可以从一个内部访问其他QQuickItem
s,那么请提出建议。