Класс QDial
Класс QDial предоставляет средство управления круговым диапазоном (например, спидометр или потенциометр). Подробнее...
| Заголовок: | #include <QDial> |
| qmake: | QT += widgets |
| Наследует: | QAbstractSlider |
Свойства
- notchSize : const int
- notchTarget : qreal
- notchesVisible : bool
- wrapping : bool
- 11 свойств унаследовано от QAbstractSlider
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| QDial(QWidget *parent = nullptr) | |
| virtual | ~QDial() |
| int | notchSize() const |
| qreal | notchTarget() const |
| bool | notchesVisible() const |
| void | setNotchTarget(double target) |
| bool | wrapping() const |
Переопределённые открытые функции
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
- 21 открытая функция унаследована от QAbstractSlider
- 214 открытых функций унаследовано от QWidget
- 34 открытых функций унаследовано от QObject
- 14 открытых функций унаследовано от QPaintDevice
Открытые слоты
| void | setNotchesVisible(bool visible) |
| void | setWrapping(bool on) |
- 3 открытых слота унаследовано от QAbstractSlider
- 19 открытых слотов унаследовано от QWidget
- 1 открытый слот унаследовано от QObject
Защищённые функции
| void | initStyleOption(QStyleOptionSlider *option) const |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *pe) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | sliderChange(QAbstractSlider::SliderChange change) override |
- 8 защищённых функций унаследовано от QAbstractSlider
- 35 защищённых функций унаследовано от QWidget
- 9 защищённых функций унаследовано от QObject
- 1 защищённая функция унаследовано от QPaintDevice
Дополнительные унаследованные члены
- 6 сигналов унаследовано от QAbstractSlider
- 3 сигнала унаследовано от QWidget
- 2 сигнала унаследовано от QObject
- 1 открытая переменная унаследована от QObject
- 5 статических открытых членов унаследовано от QWidget
- 10 статических открытых членов унаследовано от QObject
- 1 защищённый слот унаследовано от QWidget
- 2 защищённых переменных унаследовано от QObject
- 1 защищённый тип унаследовано от QPaintDevice
Подробное описание
Класс QDial предоставляет средство управления круговым диапазоном (например, спидометр или потенциометр).
QDial используется, когда пользователю необходимо управлять значением в диапазоне, определяемом программой, и диапазон либо циклический (например, углы от 0 до 359 градусов), либо макет диалога требует прямоугольного виджета.
Поскольку QDial наследуется от QAbstractSlider, диалоговое поле ведет себя аналогично ползунку. Когда wrapping() имеет значение false (по умолчанию), между ползунком и диском нет реальной разницы. Оба они используют одни и те же сигналы, слоты и члены функции. Какой использовать, зависит от ожиданий пользователей и типа приложения.
Диск изначально непрерывно генерирует сигналы valueChanged() во время перемещения ползунка; можно уменьшить частоту генерации сигналов, отключив свойство tracking. Сигнал sliderMoved() генерируется непрерывно даже при отключенном отслеживании.
Диск также генерирует сигналы sliderPressed() и sliderReleased() при нажатии и отпускании кнопки мыши. Обратите внимание, что значение диска может измениться без генерации этих сигналов, так как для изменения значения также можно использовать клавиатуру и колесо мыши.
В отличие от ползунка, QDial старается нарисовать "красивое" количество рисок, а не одну на каждом шаге. Если возможно, количество рисок равно одной на каждый шаг, но если нет достаточно пикселей для рисования каждой, QDial пропустит риски, чтобы попытаться нарисовать равномерный набор (например, рисуя каждые вторую или третью риску).
Как и ползунок, диск предоставляет функцию setValue() QAbstractSlider в виде слота.
Интерфейс клавиатуры диска довольно прост: клавиши влево/вверх и вправо/вниз изменяют значение диска на заданный singleStep, Page Up и Page Down на заданный pageStep, а клавиши Home и End устанавливают значение на заданные minimum и maximum значения.
Если для изменения диска используется колесо мыши, значение приращения определяется меньшим значением wheelScrollLines, умноженным на singleStep, и pageStep.
См. также QScrollBar, QSpinBox, QSlider, Руководство по проектированию пользовательского интерфейса: Ползунки и Пример ползунков.
END_OF_DOCUMENT_MARKERДокументация свойств
notchSize : const int
Это свойство содержит текущий размер выемки.
Размер выемки задаётся в единицах управления диапазоном, а не в пикселях, и, по возможности, является кратным значению singleStep(), что обеспечивает размер выемки на экране, близкий к notchTarget().
По умолчанию, это свойство имеет значение 1.
Функции доступа:
| int | notchSize() const |
См. также notchTarget() и singleStep().
notchTarget : qreal
Это свойство содержит целевое количество пикселей между выемками.
Целевой размер выемки — это количество пикселей, которые QDial пытается разместить между каждой выемкой.
Фактический размер может отличаться от целевого.
Целевой размер выемки по умолчанию составляет 3,7 пикселя.
Функции доступа:
| qreal | notchTarget() const |
| void | setNotchTarget(double target) |
notchesVisible : bool
Это свойство указывает, отображаются ли выемки.
Если свойство равно true, вокруг циферблата рисуется ряд выемок, указывающих доступный диапазон значений; в противном случае выемки не отображаются.
По умолчанию, это свойство отключено.
Функции доступа:
| bool | notchesVisible() const |
| void | setNotchesVisible(bool visible) |
wrapping : bool
Это свойство указывает, включена ли функция перехвата.
Если true, перехват включён; в противном случае внизу циферблата вставляется некоторый пробел для разделения концов диапазона допустимых значений.
При включении перехвата стрелка может быть ориентирована под любым углом на циферблате. При отключении стрелка будет ограничена верхней частью циферблата; если она повернётся в пространство внизу циферблата, она будет привязана к ближайшему концу допустимого диапазона значений.
По умолчанию это свойство равно false.
Функции доступа:
| bool | wrapping() const |
| void | setWrapping(bool on) |
Документация функций-членов
QDial::QDial(QWidget *parent = nullptr)
Конструирует циферблат.
Аргумент parent передаётся конструктору QAbstractSlider.
[virtual] QDial::~QDial()
Удаляет циферблат.
[override virtual protected] bool QDial::event(QEvent *e)
Переопределено из QAbstractSlider::event().
[protected] void QDial::initStyleOption(QStyleOptionSlider *option) const
Инициализирует option значениями из этого QDial. Этот метод полезен для подклассов, когда им нужен QStyleOptionSlider, но они не хотят заполнять всю информацию сами.
См. также QStyleOption::initFrom().
[override virtual] QSize QDial::minimumSizeHint() const
Переопределено из QWidget::minimumSizeHint().
[override virtual protected] void QDial::mouseMoveEvent(QMouseEvent *e)
Переопределено из QWidget::mouseMoveEvent().
[override virtual protected] void QDial::mousePressEvent(QMouseEvent *e)
Переопределено из QWidget::mousePressEvent().
[override virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)
Переопределено из QWidget::mouseReleaseEvent().
[override virtual protected] void QDial::paintEvent(QPaintEvent *pe)
Переопределено из QWidget::paintEvent().
[override virtual protected] void QDial::resizeEvent(QResizeEvent *e)
Переопределено из QWidget::resizeEvent().
[override virtual] QSize QDial::sizeHint() const
Переопределено из QWidget::sizeHint().
[override virtual protected] void QDial::sliderChange(QAbstractSlider::SliderChange change)
Переопределено из QAbstractSlider::sliderChange().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qdial.html