Spec-Zone.ru › Qt 6.1

Класс QDial

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

Заголовок: #include <QDial>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
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)

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

virtual 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, поведение шкалы аналогично поведению ползунка. Когда wrapping() имеет значение false (по умолчанию), реальной разницы между ползунком и шкалой нет. Оба они используют одни и те же сигналы, слоты и функции-члены. Какой из них использовать, зависит от ожиданий пользователей и типа приложения.

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

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

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

Как и ползунок, шкала делает функцию QAbstractSlider setValue() доступной как слот.

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

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

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

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

[read-only] 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).

[virtual 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-6.1/qdial.html

Spec-Zone.ru

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