Класс QAbstractSlider
Класс QAbstractSlider предоставляет целое значение в определённом диапазоне. Подробнее...
| Заголовок: | #include <QAbstractSlider> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследуется от: | QWidget |
| Наследует: |
Открытые типы
| Перечисление | SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, …, SliderMove } |
Свойства
|
|
Открытые функции
| QAbstractSlider(QWidget *parent = nullptr) | |
| virtual | ~QAbstractSlider() |
| bool | hasTracking() const |
| bool | invertedAppearance() const |
| bool | invertedControls() const |
| bool | isSliderDown() const |
| int | maximum() const |
| int | minimum() const |
| Qt::Orientation | orientation() const |
| int | pageStep() const |
| void | setInvertedAppearance(bool) |
| void | setInvertedControls(bool) |
| void | setMaximum(int) |
| void | setMinimum(int) |
| void | setPageStep(int) |
| void | setSingleStep(int) |
| void | setSliderDown(bool) |
| void | setSliderPosition(int) |
| void | setTracking(bool enable) |
| int | singleStep() const |
| int | sliderPosition() const |
| void | triggerAction(QAbstractSlider::SliderAction action) |
| int | value() const |
Открытые слоты
| void | setOrientation(Qt::Orientation) |
| void | setRange(int min, int max) |
| void | setValue(int) |
Сигналы
| void | actionTriggered(int action) |
| void | rangeChanged(int min, int max) |
| void | sliderMoved(int value) |
| void | sliderPressed() |
| void | sliderReleased() |
| void | valueChanged(int value) |
Защищённые типы
| перечисление | SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange } |
Защищённые функции
| QAbstractSlider::SliderAction | repeatAction() const |
| void | setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50) |
| virtual void | sliderChange(QAbstractSlider::SliderChange change) |
Переопределённые защищённые функции
| virtual void | changeEvent(QEvent *ev) override |
| virtual bool | event(QEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *ev) override |
| virtual void | timerEvent(QTimerEvent *e) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Подробное описание
Класс разработан как общий базовый класс для виджетов, таких как QScrollBar, QSlider и QDial.
Вот основные свойства класса:
- значение: Ограниченное целое число, которое QAbstractSlider поддерживает.
- минимальное: Наименьшее возможное значение.
- максимальное: Наибольшее возможное значение.
- шаг: Меньший из двух естественных шагов, которые предоставляет абстрактный ползунок, и обычно соответствует нажатию пользователем клавиши со стрелкой.
- шаг страницы: Бо́льший из двух естественных шагов, которые предоставляет абстрактный ползунок, и обычно соответствует нажатию пользователем клавиш PageUp или PageDown.
- отслеживание: Включено ли отслеживание ползунка.
- положение ползунка: Текущее положение ползунка. Если отслеживание включено (по умолчанию), оно идентично значению.
Единица (1) может рассматриваться как третий шаг. Установить значение() позволяет установить текущее значение на любое целое число в разрешенном диапазоне, а не только минимум() + n * шаг() для целых значений n. Некоторые виджеты могут позволить пользователю установить любое значение; другие могут просто предоставлять кратные шагу или шагу страницы.
QAbstractSlider испускает полный набор сигналов:
| Сигнал | Выпускается, когда |
|---|---|
| изменено значение() | значение изменилось. Отслеживание определяет, испускается ли этот сигнал во время взаимодействия пользователя. |
| нажатие ползунка() | пользователь начинает перетаскивать ползунок. |
| перемещение ползунка() | пользователь перетаскивает ползунок. |
| отпускание ползунка() | пользователь отпускает ползунок. |
| вызвана действие() | было вызвано действие ползунка. |
| изменен диапазон() | изменен диапазон. |
QAbstractSlider предоставляет виртуальную функцию изменение ползунка(), которая хорошо подходит для обновления визуального представления ползунков. Вызывая вызвать действие(), подклассы вызывают действия ползунка. Две вспомогательные функции QStyle::sliderPositionFromValue() и QStyle::sliderValueFromPosition() помогают подклассам и стилям сопоставлять координаты экрана с логическими значениями диапазона.
См. также QAbstractSpinBox, QSlider, QDial, QScrollBar и Пример с ползунками.
Документация по типам членов
перечисление QAbstractSlider::SliderAction
| Постоянная | Значение |
|---|---|
QAbstractSlider::SliderNoAction |
0 |
QAbstractSlider::SliderSingleStepAdd |
1 |
QAbstractSlider::SliderSingleStepSub |
2 |
QAbstractSlider::SliderPageStepAdd |
3 |
QAbstractSlider::SliderPageStepSub |
4 |
QAbstractSlider::SliderToMinimum |
5 |
QAbstractSlider::SliderToMaximum |
6 |
QAbstractSlider::SliderMove |
7 |
перечисление QAbstractSlider::SliderChange
| Постоянная | Значение |
|---|---|
QAbstractSlider::SliderRangeChange |
0 |
QAbstractSlider::SliderOrientationChange |
1 |
QAbstractSlider::SliderStepsChange |
2 |
QAbstractSlider::SliderValueChange |
3 |
Документация свойств
invertedAppearance : bool
Это свойство указывает, отображаются ли значения ползунка инвертированно.
Если это свойство равно false (значение по умолчанию), минимальное и максимальное значения будут отображаться в классическом положении для наследуемого виджета. Если значение равно true, минимальное и максимальное значения отображаются в противоположных положениях.
Примечание: Это свойство наиболее уместно для ползунков и регуляторов. Для полос прокрутки визуальный эффект подконтролей полосы прокрутки зависит от того, понимают ли стили инвертированное отображение; большинство стилей игнорируют это свойство для полос прокрутки.
Функции доступа:
| bool | invertedAppearance() const |
| void | setInvertedAppearance(bool) |
invertedControls : bool
Это свойство указывает, инвертирует ли ползунок события колесика мыши и клавиш.
Если это свойство равно false, прокрутка колесика мыши "вверх" и использование клавиш, таких как Page Up, увеличит значение ползунка в сторону максимального значения. В противном случае нажатие Page Up переместит значение к минимальному значению ползунка.
Функции доступа:
| bool | invertedControls() const |
| void | setInvertedControls(bool) |
maximum : int
Это свойство содержит максимальное значение ползунка.
При установке этого свойства minimum корректируется при необходимости, чтобы обеспечить сохранение допустимого диапазона. Также текущее значение ползунка корректируется, чтобы оставаться в пределах нового диапазона.
Функции доступа:
| int | maximum() const |
| void | setMaximum(int) |
minimum : int
Это свойство содержит минимальное значение ползунка.
При установке этого свойства maximum корректируется при необходимости, чтобы обеспечить сохранение допустимого диапазона. Также текущее значение ползунка корректируется, чтобы оставаться в пределах нового диапазона.
Функции доступа:
| int | minimum() const |
| void | setMinimum(int) |
orientation : Qt::Orientation
Это свойство содержит ориентацию ползунка.
Ориентация должна быть Qt::Vertical (значение по умолчанию) или Qt::Horizontal.
Функции доступа:
| Qt::Orientation | orientation() const |
| void | setOrientation(Qt::Orientation) |
pageStep : int
Это свойство содержит шаг страницы.
Больший из двух естественных шагов, предоставляемых абстрактным ползунком, и обычно соответствует нажатию пользователем клавиш PageUp или PageDown.
Функции доступа:
| int | pageStep() const |
| void | setPageStep(int) |
См. такжеsingleStep.
singleStep : int
Это свойство содержит шаг.
Меньший из двух естественных шагов, предоставляемых абстрактным ползунком, и обычно соответствует нажатию пользователем клавиши со стрелкой.
Если свойство изменяется во время события автоматического повторения нажатия клавиши, поведение не определено.
Функции доступа:
| int | singleStep() const |
| void | setSingleStep(int) |
См. такжеpageStep.
sliderDown : bool
Это свойство указывает, нажата ли кнопка ползунка.
Подклассы устанавливают свойство, чтобы сообщить абстрактному ползунку, оказывает ли отслеживание какое-либо влияние.
Изменение свойства sliderDown генерирует сигналы sliderPressed() и sliderReleased().
Функции доступа:
| bool | isSliderDown() const |
| void | setSliderDown(bool) |
sliderPosition : int
Это свойство содержит текущую позицию ползунка.
Если отслеживание включено (по умолчанию), оно идентично value.
Функции доступа:
| int | sliderPosition() const |
| void | setSliderPosition(int) |
Сигнал уведомления:
| void | sliderMoved(int value) |
tracking : bool
Это свойство указывает, включено ли отслеживание ползунка.
Если отслеживание включено (по умолчанию), ползунок генерирует сигнал valueChanged() во время перетаскивания. Если отслеживание выключено, ползунок генерирует сигнал valueChanged() только при отпускании ползунка.
Функции доступа:
| bool | hasTracking() const |
| void | setTracking(bool enable) |
См. такжеsliderDown.
value : int
Это свойство содержит текущее значение ползунка.
Ползунок принудительно устанавливает значение в допустимый диапазон: minimum <= value <= maximum.
Изменение значения также изменяет sliderPosition.
Функции доступа:
| int | value() const |
| void | setValue(int) |
Сигнал уведомления:
| void | valueChanged(int value) |
Документация по членам-функциям
QAbstractSlider::QAbstractSlider(QWidget *parent = nullptr)
Создаёт абстрактный ползунок.
Аргумент parent передаётся конструктору QWidget.
Значение minimum по умолчанию равно 0, maximum — 99, singleStep — 1, pageStep — 10, и начальное значение value — 0.
[signal] void QAbstractSlider::actionTriggered(int action)
Этот сигнал генерируется при срабатывании действия ползунка action. Действия — SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum и SliderMove.
При излучении сигнала, sliderPosition был скорректирован в соответствии с действием, но значение ещё не было распространено (то есть, сигнал valueChanged() ещё не был излучен), и визуальное отображение ещё не было обновлено. В слотах, подключенных к этому сигналу, вы можете безопасно скорректировать любое действие, вызвав setSliderPosition() самостоятельно, основываясь как на действии, так и на значении ползунка.
См. также triggerAction().
[signal] void QAbstractSlider::rangeChanged(int min, int max)
Этот сигнал излучается, когда диапазон ползунка изменился, при этом min — новое минимальное значение, а max — новое максимальное значение.
[slot] void QAbstractSlider::setRange(int min, int max)
Устанавливает минимальное значение ползунка в min и максимальное значение в max.
Если max меньше min, min становится единственным допустимым значением.
[signal] void QAbstractSlider::sliderMoved(int value)
Этот сигнал излучается, когда sliderDown имеет значение true и ползунок перемещается. Это обычно происходит, когда пользователь перетаскивает ползунок. Значение value — новая позиция ползунка.
Этот сигнал излучается даже при отключенном отслеживании.
Примечание: Сигнал-уведомление для свойства sliderPosition.
См. также setTracking(), valueChanged(), isSliderDown(), sliderPressed() и sliderReleased().
[signal] void QAbstractSlider::sliderPressed()
Этот сигнал излучается, когда пользователь нажимает на ползунок мышкой или программно, когда вызывается setSliderDown(true).
См. также sliderReleased(), sliderMoved() и isSliderDown().
[signal] void QAbstractSlider::sliderReleased()
Этот сигнал излучается, когда пользователь отпускает ползунок мышкой или программно, когда вызывается setSliderDown(false).
См. также sliderPressed(), sliderMoved() и sliderDown.
[signal] void QAbstractSlider::valueChanged(int value)
Этот сигнал излучается, когда значение ползунка изменилось, при этом новым значением ползунка является value.
Примечание: Сигнал-уведомление для свойства value.
[virtual] QAbstractSlider::~QAbstractSlider()
Уничтожает ползунок.
[override virtual protected] void QAbstractSlider::changeEvent(QEvent *ev)
Переопределяет: QWidget::changeEvent(QEvent *event).
[override virtual protected] bool QAbstractSlider::event(QEvent *e)
Переопределяет: QWidget::event(QEvent *event).
[override virtual protected] void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
Переопределяет: QWidget::keyPressEvent(QKeyEvent *event).
[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const
Возвращает текущее повторяющееся действие.
См. также setRepeatAction().
[protected] void QAbstractSlider::setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)
Устанавливает действие action для повторяющегося запуска через интервалы repeatTime после начальной задержки thresholdTime.
См. также triggerAction() и repeatAction().
[virtual protected] void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)
Переопределите этот виртуальный метод для отслеживания изменений ползунка, таких как SliderRangeChange, SliderOrientationChange, SliderStepsChange или SliderValueChange. По умолчанию выполняется только обновление отображения, и параметр change игнорируется.
[override virtual protected] void QAbstractSlider::timerEvent(QTimerEvent *e)
Переопределяет: QObject::timerEvent(QTimerEvent *event).
void QAbstractSlider::triggerAction(QAbstractSlider::SliderAction action)
Вызывает действие ползунка action. Возможные действия — SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum и SliderMove.
См. также actionTriggered().
[override virtual protected] void QAbstractSlider::wheelEvent(QWheelEvent *e)
Переопределяет: QWidget::wheelEvent(QWheelEvent *event).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qabstractslider.html