Шаг 124.
Библиотека PyQt5.
Основные компоненты. Индикатор хода процесса
На этом шаге мы рассмотрим класс, используемый для создания этого компонента.
Класс QProgressBar реализует индикатор хода процесса, с помощью которого можно информировать пользователя о текущем состоянии выполнения длительной операции.
Иерархия наследования выглядит так:
(QObject, QPaintDevice) - QWidget - QProgressBar
Формат конструктора класса QProgressBar:
<Объект> = QProgressBar ([parent=<Родитель>])
Класс QProgressBar поддерживает такой набор методов, которые могут быть нам полезны (полный их список представлен на странице
https://doc.qt.io/qt-5/qprogressbar.html):
- setValue (<Значение>) - задает новое целочисленное значение. Метод является слотом;
- value () - возвращает текущее значение индикатора в виде числа;
- text () - возвращает текст, отображаемый на индикаторе или рядом с ним;
- setRange (<Минимум>, <Максимум>), setMinimum (<Минимум>) и setMaximum (<Максимум>) -
задают минимальное и максимальное значения в виде целых чисел. Если оба значения равны нулю, то внутри индикатора будут постоянно по кругу перемещаться сегменты, показывая ход выполнения
процесса с неопределенным количеством шагов. Методы являются слотами;
- reset () - сбрасывает значение индикатора. Метод является слотом;
- setOrientation (<Ориентация>) - задает ориентацию индикатора. В качестве значения указываются атрибуты Horizontal или Vertical класса QtCore.Qt. Метод является слотом;
- setTextVisibie (<Флаг>) - если в качестве параметра указано значение False, то текст с текущим значением индикатора отображаться не будет;
- setTextDirection (<Haпpaвлeниe>) - задает направление вывода текста при вертикальной ориентации индикатора. Обратите внимание, что при использовании стилей
"windows", "windowsxp" и "macintosh" при вертикальной ориентации текст вообще не отображается. В качестве значения указываются следующие атрибуты класса
QProgressBar:
- TopToBottom (или 0) - текст поворачивается на 90 градусов по часовой стрелке;
- BottomToTop (или 1) - текст поворачивается на 90 градусов против часовой стрелки;
- setInvertedAppearance (<Флаг>) - если в качестве параметра указано значение True, то
направление увеличения значения будет изменено на противоположное (например, не слева направо, а справа налево - при горизонтальной ориентации);
- setFormat (<Формат>) - задает формат вывода текстового представления значения. Параметром передается строка формата, в которой могут использоваться следующие
специальные символы:
- %v - само текущее значение,
- %m - заданный методами setMaximun() или setRange() максимум,
- %р - текущее значение в процентах.
Пример:
led.setFormat('Выполнено %v шагов из %m')
При изменении значения индикатора генерируется сигнал valueChanged(<Hoвoe значение>). Внутри обработчика через параметр доступно новое значение, заданное целым числом.
На следующем шаге мы рассмотрим шкалу с ползунком.
Предыдущий шаг
Содержание
Следующий шаг