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
メソッドを渡すことができることを知っています。しかし、私はTestItem
ウィンドウの一部であり、コンテキストを保持しているため、という予感があります。QQmlApplicationEngine
メソッドから渡さなくても、オブジェクトまたはポインタを取得する方法が必要main
ですか?
目的: I を使用すると、 my で s にQQmlApplicationEngine
アクセスできます。 QQuickItem
main.qml
QQuickItem *some_quick_item = qml_engine->rootObjects()[0]->findChild<QQuickItem*>("SomeQuickItem");
だから、これを行うために、私はしたいQQmlApplicationEngine
. QQuickItem
内部から他の にアクセスする方法がある場合は、提案してください。