#qt #qml
#qt #qml
Вопрос:
Я работаю над приложением на основе QML. где я динамически загружаю содержимое. Однако при запуске приложения это занимает довольно много времени (5-10 секунд), поэтому мне нужно показывать любой экран загрузки или индикатор во время загрузки всего содержимого. Кто-нибудь может подсказать мне, как это сделать? Например, после входа в мое приложение потребовалось некоторое время для загрузки следующей страницы, поэтому в течение этого периода времени я хочу показать экран загрузки.
App {
id: app
height: 400
width: 200
Rectangle {
id: rectangle
Button {
id: button
text: qsTr("GO TO NEXT PAGE")
onClicked:stackView.push("page2.qml")
}
Image {
id: image
fillMode: Image.PreserveAspectFit
source: "default-app.png"
}
}
}
Предположим, что это мой код, тогда где я могу использовать loader? Я никогда не использовал его раньше
Комментарии:
1. простите, но где упомянутое
StackView
?
Ответ №1:
Вы можете использовать компонент status
из Loader
(я предполагаю, что вы используете это, поскольку вы загружаете «динамически»). Затем используйте это в BusyIndicator
.
Loader {
id: loader
asynchronous: true
...
BusyIndicator {
anchors.centerIn: parent
running: loader.status == Loader.Loading
}
}
Черт возьми, документы Qt для BusyIndicator должны были заставить вас работать!
Комментарии:
1. Он также должен установить
asynchronous: true
2. Я не использовал загрузчик. для перенаправления на следующую страницу я использую StackView
3. @user13846567 это показывает, что вы должны включить код в свой вопрос! И затем вы должны начать использовать
Loader
в своемStackView