をメインファイルとして使用し、で他のファイルApplicationWindowに切り替えられるようにしたいです。基本的にはこれを行います:QMLC++QQuickView::setSource(const QUrl & url)
起動 => main.qmlをロード( ApplicationWindow) => ヘルプ ボタンをクリック => help.qmlファイルをロード =>C++など
int main(int argc, char *argv[])
{
QApplication app{argc, argv};
CustomQQuickView view;
view.setSource(QUrl{"qrc:/main.qml"});
view->show();
return app.exec();
}
main.qml
ApplicationWindow
{
visible: true
width: 640
height: 480
Loader
{
anchors.fill: parent
id: mainPageLoader
}
Button
{
text: "Help"
onClicked: { mainPageLoader.source = "help.qml"}
}
}
(Loaderここが本当にここに必要かどうか疑問に思っています)
ただしQQuickView、 から派生したルート オブジェクトのロードのみをサポートしますQQuickItem。したがって、 では動作しませんApplicationWindow。
QQmlApplicationEngineの代わりに使おうと思っているのですQQuickViewが、使い方が違うようで、このクラスしか装備されていませんQQmlApplicationEngine::load(const QUrl & url)
私の目的にとって最善の行動方針は何ですか?main.qmlファイルApplicationWindowにが本当に必要ですか?