ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 833
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
488
Часть II. Библиотека PyQt 5
clicked(
— генерируется при щелчке мышью на доступной дате. Внутри обра- ботчика через параметр доступна выбранная дата;
currentPageChanged(<Год>, <Месяц>)
— генерируется при изменении страницы. Внутри обработчика через первый параметр доступен год, а через второй — месяц. Обе величи- ны задаются целыми числами;
selectionChanged
— генерируется при изменении выбранной даты пользователем или из программного кода.
21.11. Электронный индикатор
Класс
QLCDNumber реализует электронный индикатор, в котором цифры и буквы отобража- ются отдельными сегментами — как на электронных часах или дисплее калькулятора
(рис. 21.5). Индикатор позволяет отображать числа в двоичной, восьмеричной, десятичной и шестнадцатеричной системах счисления. Иерархия наследования выглядит так:
(QObject, QPaintDevice) — QWidget — QFrame — QLCDNumber
Рис. 21.5. Компонент
QLCDNumber
Форматы конструктора класса
QLCDNumber
:
<Объект> = QLCDNumber([parent=<Родитель>])
<Объект> = QLCDNumber(<Количество цифр>[, parent=<Родитель>])
В параметре
<Количество цифр>
указывается количество отображаемых цифр — если оно не указано, используется значение
5
Класс
QLCDNumber поддерживает следующие методы (здесь приведены только основные — полный их список смотрите на странице https://doc.qt.io/qt-5/qlcdnumber.html):
display(<Значение>)
— задает новое значение. В качестве параметра можно указать целое число, вещественное число или строку: lcd.display(1048576)
Метод является слотом;
checkOverflow(<Число>)
— возвращает значение
True
, если целое или вещественное число, указанное в параметре, не может быть отображено индикатором. В противном случае возвращает значение
False
;
intValue()
— возвращает значение индикатора в виде целого числа;
value()
— возвращает значение индикатора в виде вещественного числа;
setSegmentStyle(<Стиль>)
— задает стиль индикатора. В качестве параметра можно ука- зать атрибуты
Outline
,
Filled или
Flat класса
QLCDNumber
;
setMode(<Режим>)
— задает режим отображения чисел. В качестве параметра можно ука- зать следующие атрибуты класса
QLCDNumber
:
Глава 21. Основные компоненты
489
•
Hex
—
0
— шестнадцатеричное значение;
•
Dec
—
1
— десятичное значение;
•
Oct
—
2
— восьмеричное значение;
•
Bin
—
3
— двоичное значение.
Вместо метода setMode()
удобнее воспользоваться методами-слотами setHexMode()
, setDecMode()
, setOctMode()
и setBinMode()
;
setSmallDecimalPoint(<Флаг>)
— если в качестве параметра указано значение
True
, десятичная точка будет отображаться как отдельный элемент (при этом значение выво- дится более компактно без пробелов до и после точки), а если значение
False
— то деся- тичная точка будет занимать позицию цифры (значение используется по умолчанию).
Метод является слотом;
setDigitCount(<Число>)
— задает количество отображаемых цифр. Если в методе setSmallDecimalPoint()
указано значение
False
, десятичная точка считается отдельной цифрой.
Класс
QLCDNumber поддерживает сигнал overflow
, генерируемый при попытке задать значе- ние, которое не может быть отображено индикатором.
21.12. Индикатор хода процесса
Класс
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
. Метод является сло- том;
setTextVisible(<Флаг>)
— если в качестве параметра указано значение
False
, текст с текущим значением индикатора отображаться не будет;
setTextDirection(<Направление>)
— задает направление вывода текста при верти- кальной ориентации индикатора. Обратите внимание, что при использовании стилей
490
Часть II. Библиотека PyQt 5
"windows"
,
"windowsxp"
и "macintosh"
при вертикальной ориентации текст вообще не отображается. В качестве значения указываются следующие атрибуты класса
QProgressBar
:
•
TopToBottom
—
0
— текст поворачивается на 90 градусов по часовой стрелке;
•
BottomToTop
—
1
— текст поворачивается на 90 градусов против часовой стрелки;
setInvertedAppearance(<Флаг>)
— если в качестве параметра указано значение
True
, направление увеличения значения будет изменено на противоположное (например, не слева направо, а справа налево — при горизонтальной ориентации);
setFormat(<Формат>)
— задает формат вывода текстового представления значения. Па- раметром передается строка формата, в которой могут использоваться следующие спе- циальные символы:
%v
— само текущее значение,
%m
— заданный методами setMaximun()
или setRange()
максимум,
%p
— текущее значение в процентах: lcd.setFormat('Выполнено %v шагов из %m')
При изменении значения индикатора генерируется сигнал valueChanged(<Новое значение>)
Внутри обработчика через параметр доступно новое значение, заданное целым числом.
21.13. Шкала с ползунком
Класс
QSlider реализует шкалу с ползунком, который можно перемещать с помощью мыши или клавиатуры. Иерархия наследования выглядит так:
(QObject, QPaintDevice) — QWidget — QAbstractSlider — QSlider
Форматы конструктора класса
QSlider
:
<Объект> = QSlider([parent=<Родитель>])
<Объект> = QSlider(<Ориентация>[, parent=<Родитель>])
Параметр
<Ориентация>
позволяет задать ориентацию шкалы. В качестве значения указыва- ются атрибуты
Horizontal или
Vertical
(значение по умолчанию) класса
QtCore.Qt
Класс
QSlider наследует следующие методы из класса
QAbstractSlider
(здесь приведены только основные
— полный их список смотрите на странице https://doc.qt.io/qt-
5/qabstractslider.html):
setValue(<Значение>)
— задает новое целочисленное значение. Метод является слотом;
value()
— возвращает текущее значение в виде числа;
setSliderPosition(<Значение>)
— задает текущее положение ползунка;
sliderPosition()
— возвращает текущее положение ползунка в виде числа. Если отсле- живание перемещения ползунка включено (принято по умолчанию), то возвращаемое значение будет совпадать со значением, возвращаемым методом value()
. Если отслежи- вание выключено, то при перемещении метод sliderPosition()
вернет текущее положе- ние, а метод value()
— положение, которое имел ползунок до перемещения;
setRange(<Минимум>, <Максимум>)
, setMinimum(<Минимум>)
и setMaximum(<Максимум>)
— задают минимальное и максимальное значения, представленные целыми числами. Ме- тод setRange()
является слотом;
setOrientation(<Ориентация>)
— задает ориентацию шкалы. В качестве значения ука- зываются атрибуты
Horizontal или
Vertical класса
QtCore.Qt
. Метод является слотом;
Глава 21. Основные компоненты
491
setSingleStep(<Значение>)
— задает значение, на которое сдвинется ползунок при на- жатии клавиш со стрелками;
setPageStep(<Значение>)
— задает значение, на которое сдвинется ползунок при нажа- тии клавиш и
, повороте колесика мыши или щелчке мышью на шкале;
setInvertedAppearance(<Флаг>)
— если в качестве параметра указано значение
True
, направление увеличения значения будет изменено на противоположное (например, не слева направо, а справа налево — при горизонтальной ориентации);
setInvertedControls(<Флаг>)
— если в качестве параметра указано значение
False
, то при изменении направления увеличения значения будет изменено и направление пере- мещения ползунка при нажатии клавиш и
, повороте колесика мыши и нажатии клавиш со стрелками вверх и вниз;
setTracking(<Флаг>)
— если в качестве параметра указано значение
True
, отслеживание перемещения ползунка будет включено (принято по умолчанию). При этом сигнал valueChanged при перемещении ползунка станет генерироваться постоянно. Если в каче- стве параметра указано значение
False
, то сигнал valueChanged будет сгенерирован только при отпускании ползунка;
hasTracking()
— возвращает значение
True
, если отслеживание перемещения ползунка включено, и
False
— в противном случае.
Класс
QAbstractSlider поддерживает сигналы:
actionTriggered(<Действие>)
— генерируется, когда производится взаимодействие с ползунком (например, при нажатии клавиши
). Внутри обработчика через параметр доступно произведенное действие, которое описывается целым числом. Также можно использовать атрибуты
SliderNoAction
(
0
),
SliderSingleStepAdd
(
1
),
SliderSingleStepSub
(
2
),
SliderPageStepAdd
(
3
),
SliderPageStepSub
(
4
),
SliderToMinimum
(
5
),
SliderToMaximum
(
6
) и
SliderMove
(
7
) класса
QAbstractSlider
;
rangeChanged(<Минимум>, <Максимум>)
— генерируется при изменении диапазона значе- ний. Внутри обработчика через параметры доступны новые минимальное и максималь- ное значения, заданные целыми числами;
sliderPressed
— генерируется при нажатии ползунка;
sliderMoved(<Положение>)
— генерируется постоянно при перемещении ползунка.
Внутри обработчика через параметр доступно новое положение ползунка, выраженное целым числом;
sliderReleased
— генерируется при отпускании ранее нажатого ползунка;
valueChanged(<Значение>)
— генерируется при изменении значения. Внутри обработчи- ка через параметр доступно новое значение в виде целого числа.
Класс
QSlider дополнительно определяет следующие методы (здесь приведены только основные — полный их список смотрите на странице https://doc.qt.io/qt-5/qslider.html):
setTickPosition(<Позиция>)
— задает позицию рисок. В качестве параметра указывают- ся следующие атрибуты класса
QSlider
:
•
NoTicks
— без рисок;
•
TicksBothSides
— риски по обе стороны;
•
TicksAbove
— риски выводятся сверху;
492
Часть II. Библиотека PyQt 5
•
TicksBelow
— риски выводятся снизу;
•
TicksLeft
— риски выводятся слева;
•
TicksRight
— риски выводятся справа;
setTickInterval(<Расстояние>)
— задает расстояние между рисками.
21.14. Круговая шкала с ползунком
Класс
QDial реализует круглую шкалу с ползунком, который можно перемещать по кругу с помощью мыши или клавиатуры. Компонент, показанный на рис. 21.6, напоминает регу- лятор, используемый в различных устройствах для изменения или отображения каких-либо настроек. Иерархия наследования:
(QObject, QPaintDevice) — QWidget — QAbstractSlider — QDial
Рис. 21.6. Компонент
QDial
Формат конструктора класса
QDial
:
<Объект> = QDial([parent=<Родитель>])
Класс
QDial наследует все методы и сигналы класса
QAbstractSlider
(см. разд. 21.13) и оп- ределяет несколько дополнительных методов (здесь приведена только часть методов — полный их список смотрите на странице https://doc.qt.io/qt-5/qdial.html):
setNotchesVisible(<Флаг>)
— если в качестве параметра указано значение
True
, будут отображены риски. По умолчанию риски не выводятся. Метод является слотом;
setNotchTarget(<Значение>)
— задает рекомендуемое количество пикселов между рис- ками. В качестве параметра указывается вещественное число;
setWrapping(<Флаг>)
— если в качестве параметра указано значение
True
, то начало шкалы будет совпадать с ее концом. По умолчанию между началом шкалы и концом расположено пустое пространство. Метод является слотом.
21.15. Полоса прокрутки
Класс
QScrollBar представляет горизонтальную или вертикальную полосу прокрутки.
Изменить положение ползунка на полосе можно нажатием на кнопки, расположенные по краям полосы, щелчками мышью на полосе, собственно перемещением ползунка мышью,
Глава 21. Основные компоненты
493 нажатием клавиш на клавиатуре, а также выбрав соответствующий пункт из контекстного меню. Иерархия наследования:
(QObject, QPaintDevice) — QWidget — QAbstractSlider — QScrollBar
Форматы конструктора класса
QScrollBar
:
<Объект> = QScrollBar([parent=<Родитель>])
<Объект> = QScrollBar(<Ориентация>[, parent=<Родитель>])
Параметр
<Ориентация>
позволяет задать ориентацию полосы прокрутки. В качестве значе- ния указываются атрибуты
Horizontal или
Vertical
(значение по умолчанию) класса
QtCore.Qt
Класс
QScrollBar наследует все методы и сигналы класса
QAbstractSlider
(см. разд. 21.13) и не определяет дополнительных методов.
П
РИМЕЧАНИЕ
Полоса прокрутки редко используется отдельно. Гораздо удобнее воспользоваться об- ластью с полосами прокрутки, которую реализует класс QScrollArea (см. разд. 20.12).
21.16. Веб-браузер
Класс
QWebEngineView
, определенный в модуле
QtWebEngineWidgets
, реализует полнофунк- циональный веб-браузер, поддерживающий HTML, CSS, JavaScript, вывод изображений и пр. (на рис. 21.7 в этом компоненте выведена главная страница Google). Иерархия насле- дования:
(QObject, QPaintDevice) — QWidget — QWebEngineView
Рис. 21.7. Компонент
QWebEngineView
494
Часть II. Библиотека PyQt 5
Формат конструктора класса
QWebEngineView
:
<Объект> = QWebEngineView([parent=<Родитель>])
П
РИМЕЧАНИЕ
До версии 5.5 библиотеки PyQt вывод веб-страниц осуществлялся средствами класса
QWebView из модуля QtWebKitWidgets. Однако в версии 5.5 этот модуль был объявлен не- рекомендованным к использованию, а в версии 5.6 — удален.
Класс
QWebEngineView поддерживает следующие полезные для нас методы (полный их спи- сок смотрите на странице https://doc.qt.io/qt-5/qwebengineview.html):
load(
и setUrl(
— загружают и выводят страницу с указанным в пара- метре адресом, который задается в виде экземпляра класса
QUrl из модуля
QtCore
: web.load(QtCore.QUrl('https://www.google.ru/'))
url()
— возвращает адрес текущей страницы в виде экземпляра класса
QUrl
;
title()
— возвращает заголовок (содержимое тега
) текущей страницы;
setHtml(
— задает HTML-код страницы, которая будет отображена в компоненте.
Необязательный параметр baseUrl указывает базовый адрес, относительно которого бу- дут отсчитываться относительные адреса в гиперссылках, ссылках на файлы изображе- ний, таблицы стилей, файлы сценариев и пр. Если этот параметр не указан, в качестве значения по умолчанию используется «пустой» экземпляр класса
QUrl
, и относительные адреса будут отсчитываться от каталога, где находится сам файл страницы: wv.setHtml("
1 ... 41 42 43 44 45 46 47 48 ... 83