をメインファイルとして使用し、で他のファイルApplicationWindow
に切り替えられるようにしたいです。基本的にはこれを行います:QML
C++
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
にが本当に必要ですか?