Я новичок в QML.
У меня есть Loading.qml и main.qml
Я хочу отображать loading.qml при запуске приложения, и когда все мои данные готовы, я хочу скрыть load.qml и отобразить main.qml
Я хочу сделать это из кода c ++
Как я могу это сделать?
Спасибо
[ОБНОВЛЕНИЕ]
Я пробовал это
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
qmlRegisterType<MyWindow>("project.mywindow", 1, 0, "MyWindow");
engine.load(QUrl("qrc:/LoadingPage.qml"));
if(engine.rootObjects().isEmpty()) return -1;
// simulate preloading data
std::this_thread::sleep_for(std::chrono::seconds(5));
engine. ? -> switch to another view ?
/*engine.load(QUrl("qrc:/main.qml"));
if(engine.rootObjects().isEmpty()) return -1;*/
return app.exec();
}
My QML LoadingPage.qml
import QtQuick 2.0
import QtQuick.Window 2.0
import QtQuick.Controls 2.0
ApplicationWindow {
id: loading
visible: true
width: Screen.desktopAvailableWidth
height: Screen.desktopAvailableHeight
title: qsTr("Board")
Loader {
id: pageLoader
}
Component.onCompleted: {
pageLoader.source = "qrc:/main.qml"
loading.visible = false
}
Image {
id: logo
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
width: 100
height: 100
source: "qrc:/img/download.jpeg"
}
Button {
id: btn
width: 250
height: 250
x: 250
y: 0
onClicked: {
pageLoader.source = "qrc:/main.qml"
loading.visible = false
}
}
}
Я хочу, когда мой main.qml готов (когда конструкция моего класса MyWindow на C ++) в порядке, я хочу переключиться на них.