Я хочу показать BusyIndicator
, пока идет длительный процесс. Проблема в том, что он не появляется, когда я запускаю его, и показывает потом, когда процесс завершен. Согласно документам
Индикатор занятости следует использовать для обозначения активности во время загрузки содержимого или блокировки пользовательского интерфейса в ожидании доступности ресурса.
Я создал минимальный код, основанный на исходном коде.
Window {
id: win
width: 300
height: 300
property bool run : false
Rectangle {
anchors.fill: parent
BusyIndicator {
anchors.centerIn: parent
running: run
}
MouseArea {
anchors.fill: parent
onClicked: {
run = true
for(var a=0;a<1000000;a++) { console.log(a) }
run = false
}
}
}
}
Поэтому, когда нажимается Rectangle
, я хочу отображать BusyIndicator
за время до завершения вычислений.
Например, здесь я использовал цикл for. В реальном сценарии я вызываю функцию (которая вставляет около 1000 строк в базу данных) через ContextProperty
. Но и в этом случае BusyIndicator
не отображается.
Я делаю это правильно? Или как лучше всего это сделать?