Spec-Zone.ru › Qt 5.6

Класс QDial

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

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

Свойства

  • notchSize : const int
  • notchTarget : qreal
  • notchesVisible : bool
  • wrapping : bool
  • 11 свойств, унаследованных от QAbstractSlider
  • 58 свойств, унаследованных от QWidget
  • 1 свойство, унаследованное от QObject

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

QDial(QWidget *parent = Q_NULLPTR)
~QDial()
int notchSize() const
qreal notchTarget() const
bool notchesVisible() const
void setNotchTarget(double target)
bool wrapping() const

Переопределённые открытые функции

virtual QSize minimumSizeHint() const
virtual QSize sizeHint() const
  • 21 открытая функция, унаследованная от QAbstractSlider
  • 211 открытых функций, унаследованных от QWidget
  • 31 открытая функция, унаследованная от 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)
virtual void mouseMoveEvent(QMouseEvent *e)
virtual void mousePressEvent(QMouseEvent *e)
virtual void mouseReleaseEvent(QMouseEvent *e)
virtual void paintEvent(QPaintEvent *pe)
virtual void resizeEvent(QResizeEvent *e)
virtual void sliderChange(SliderChange change)
  • 8 защищённых функций, унаследованных от QAbstractSlider
  • 35 защищённых функций, унаследованных от QWidget
  • 9 защищённых функций, унаследованных от QObject
  • 1 защищённая функция, унаследованная от QPaintDevice

Дополнительные унаследованные члены

  • 6 сигналов, унаследованных от QAbstractSlider
  • 3 сигнала, унаследованных от QWidget
  • 2 сигнала, унаследованных от QObject
  • 5 статических открытых членов, унаследованных от QWidget
  • 11 статических открытых членов, унаследованных от QObject
  • 1 защищённый слот, унаследованный от QWidget

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

Класс 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.

Screenshot of a dial in the Fusion widget style Screenshot of a dial in the Windows Vista widget style Screenshot of a dial in the Macintosh widget style
Регуляторы, отображенные в различных стилях виджетов (слева направо): Fusion, Windows Vista, Macintosh.

См. также 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 = Q_NULLPTR)

Конструирует циферблат.

Аргумент parent передаётся конструктору QAbstractSlider.

QDial::~QDial()

Уничтожает циферблат.

[virtual protected] bool QDial::event(QEvent *e)

Переопределено из QObject::event().

[protected] void QDial::initStyleOption(QStyleOptionSlider *option) const

Инициализирует option значениями из данного QDial. Этот метод полезен для подклассов, когда им нужен QStyleOptionSlider, но они не хотят сами заполнять всю информацию.

См. также QStyleOption::initFrom().

[virtual] QSize QDial::minimumSizeHint() const

Переопределено из QWidget::minimumSizeHint().

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

Переопределено из QWidget::mouseMoveEvent().

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

Переопределено из QWidget::mousePressEvent().

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

Переопределено из QWidget::mouseReleaseEvent().

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

Переопределено из QWidget::paintEvent().

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

Переопределено из QWidget::resizeEvent().

[virtual] QSize QDial::sizeHint() const

Переопределено из QWidget::sizeHint().

[virtual protected] void QDial::sliderChange(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.6/qdial.html

Spec-Zone.ru

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