私のアプリケーションでは、「最初の実行フロー」を実装する必要があるため、この場合、私の QML シーンは異なります。このフローの最後に、通常のフローを実行する必要があるため、ルート オブジェクトのコンテンツを変更する必要があります。これを達成する方法がわかりません。
1 に答える
0
クラスを変更して2つの関数を追加しました
Q_INVOKABLE void firstRun();
Q_INVOKABLE void normalRun();
実装:firstrun:
qml->setContextProperty("dateModel" , ModelsFactory::getInstance().weightModel);
qml->setContextProperty("personModel" , ModelsFactory::getInstance().personModel);
qml->setContextProperty("Application", this);
AbstractPane *root = qml->createRootObject<AbstractPane>();
app->setScene(root);
normalRun:
QmlDocument *qml;
qml = QmlDocument::create("asset:///main.qml").parent(this);
qml->setContextProperty("Application", this);
AbstractPane *root = qml->createRootObject<AbstractPane>();
Application::instance()->setScene(root);
ご覧のとおり、この参照をqmlに公開し、qmlで、フローが終了したら、Application.normalRun()を呼び出すことができます。これは、関数宣言でQ_INVOKEBALEMAKROを使用したためです。それが役立つことを願っています
于 2012-11-21T20:26:06.170 に答える