Смужки поступу і індикатори
Кожного разу, коли ваша програма виконує якісь завдання, для виконання яких потрібно доволі багато часу, вам знадобиться візуальний елемент, який повідомлятиме користувачу про те, що щось відбувається у фоновому режимі.
У QtQuick Controls передбачено два корисних компоненти, якими ви можете скористатися для виконання цього завдання.
Панель поступу
Controls.ProgressBar є компонентом, який надає вам змогу просто включити смужки поступу до вашої програми. Існує чотири основних властивості, якими вам потрібно буде скористатися:
- from: мінімальне значення, яке відповідає початку смужки поступу
- to: максимальне значення, яке відповідає кінцю смужки поступу
- value: поточне значення рівня виконання дії (наприклад, отримано 50% даних)
- indeterminate: якщо дія, яка зараз виконується не має точного значення рівня поступу, ви можете встановити для цієї властивості значення
true
для показу користувачу того, що щось відбувається, але параметри поступу цього не є очевидними (але невдовзі ці параметри буде отримано).
import QtQuick 2.15
import QtQuick.Controls 2.15 as Controls
import QtQuick.Layouts 1.15
import org.kde.kirigami 2.20 as Kirigami
Kirigami.Page {
Controls.ProgressBar {
from: 0
to: 100
value: 50
indeterminate: false
}
}

Вище: смужка поступу на рівні 50%; нижче: невизначена смужка поступу
Індикатор зайнятості
У випадках, коли час завантаження є коротшим або вимірювання поступу неможливе, ви можете скористатися Controls.BusyIndicator . Цей компонент забезпечує роботу простого обертового коліщатка, яке показує користувачам, що щось відбувається.
Controls.BusyIndicator {}
Якщо ви хочете, щоб індикатор припинив показ поступу, ви можете зробити це встановленням для властивості running значення false
.
Controls.BusyIndicator {
running: false
}