Spec-Zone.ru › Qt 5.15

Класс QDial

Класс QDial предоставляет элемент управления круговым диапазоном (например, спидометр или потенциометр). Подробнее...

Заголовок: #include <QDial>
qmake: QT += widgets
Наследует: QAbstractSlider
  • Список всех членов, включая наследуемые

Свойства

  • notchSize : const int
  • notchTarget : qreal
  • notchesVisible : bool
  • wrapping : bool

Открытые функции

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

Открытые слоты

void setNotchesVisible(bool visible)
void setWrapping(bool on)

Защищенные функции

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

Подробное описание

QDial используется, когда пользователю необходимо управлять значением в диапазоне, определяемом программой, а диапазон либо циклически повторяется (например, при измерениях углов от 0 до 359 градусов), или требуется прямоугольный виджет.

Так как QDial наследуется от QAbstractSlider, поведение диала аналогично поведению ползунка slider. Когда wrapping() имеет значение false (по умолчанию), разница между ползунком и диалом отсутствует. Они оба используют те же сигналы, слоты и функции-члены. Выбор между ними зависит от ожиданий пользователей и типа приложения.

Диалу изначально посылаются сигналы valueChanged() непрерывно во время перемещения ползунка; можно сделать так, чтобы сигнал посылался реже, отключив свойство tracking. Сигнал sliderMoved() посылается непрерывно, даже когда отслеживание отключено.

Диалу также посылаются сигналы sliderPressed() и sliderReleased() при нажатии и отпускании кнопки мыши. Обратите внимание, что значение диала может измениться без отправки этих сигналов, поскольку для изменения значения также могут использоваться клавиатура и колесо мыши.

В отличие от ползунка, QDial пытается отобразить «приемлемое» количество рисок, а не одну на каждый шаг. Если возможно, число рисок равно одной на каждый шаг, но если пикселей недостаточно для отображения каждой риски, QDial пропустит риски, чтобы попытаться отобразить равномерный набор (например, отображая каждую вторую или третью риску).

Как и ползунок, диалу доступна функция QAbstractSlider setValue() в качестве слота.

Интерфейс клавиатуры диала довольно прост: клавиши влево/вверх и вправо/вниз изменяют значение диала на определенный шаг singleStep, клавиши Page Up и Page Down — на определенный шаг pageStep, а клавиши Home и End устанавливают значение на минимальное и максимальное значения, заданные соответственно.

При использовании колеса мыши для изменения значения диала величина приращения определяется меньшим из значений wheelScrollLines и singleStep, умноженными на pageStep.

См. также QScrollBar, QSpinBox, QSlider, Справочник по разработке графического интерфейса: Ползунки и Пример с ползунками.

Документация свойств

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(QEvent *e).

[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(QMouseEvent *event).

[override virtual protected] void QDial::mousePressEvent(QMouseEvent *e)

Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)

Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).

[override virtual protected] void QDial::paintEvent(QPaintEvent *pe)

Переопределяет: QWidget::paintEvent(QPaintEvent *event).

[override virtual protected] void QDial::resizeEvent(QResizeEvent *e)

Переопределяет: QWidget::resizeEvent(QResizeEvent *event).

[override virtual] QSize QDial::sizeHint() const

Переопределяет функцию доступа к свойству: QWidget::sizeHint.

[override virtual protected] void QDial::sliderChange(QAbstractSlider::SliderChange change)

Переопределяет: QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change).

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qdial.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API