Класс QSlider
Виджет QSlider предоставляет ползунок вертикального или горизонтального типа. Подробнее...
| Заголовок: | #include <QSlider> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QAbstractSlider |
Типы публичного интерфейса
| Перечисление | TickPosition { НетДелений, ДеленияСОбеихСторон, ДеленияСверху, ДеленияСнизу, ДеленияСлева, ДеленияСправа } |
Свойства
- tickInterval : int
- tickPosition : TickPosition
Публичные функции
| QSlider(Qt::Orientation orientation, QWidget *parent = nullptr) | |
| QSlider(QWidget *parent = nullptr) | |
| virtual | ~QSlider() |
| void | setTickInterval(int ti) |
| void | setTickPosition(QSlider::TickPosition position) |
| int | tickInterval() const |
| QSlider::TickPosition | tickPosition() const |
Переопределённые публичные функции
| virtual bool | event(QEvent *event) override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Защищенные функции
| virtual void | initStyleOption(QStyleOptionSlider *option) const |
Переопределённые защищенные функции
| virtual void | mouseMoveEvent(QMouseEvent *ev) override |
| virtual void | mousePressEvent(QMouseEvent *ev) override |
| virtual void | mouseReleaseEvent(QMouseEvent *ev) override |
| virtual void | paintEvent(QPaintEvent *ev) override |
Подробное описание
Ползунок — классический виджет для управления ограниченным значением. Он позволяет пользователю перемещать ползунок по горизонтальной или вертикальной дорожке, преобразуя положение ползунка в целое числовое значение в допустимом диапазоне.
QSlider имеет очень мало собственных функций; большая часть функциональности находится в QAbstractSlider. Наиболее полезные функции — setValue() для непосредственного установки значения ползунка, triggerAction() для имитации щелчка (полезно для сочетаний клавиш), setSingleStep(), setPageStep() для установки шагов и setMinimum() и setMaximum() для определения диапазона ползунка.
QSlider предоставляет методы для управления метками. Вы можете использовать setTickPosition() для указания места расположения меток и setTickInterval() для указания количества меток. Текущее положение и интервал меток можно запросить с помощью функций tickPosition() и tickInterval() соответственно.
QSlider наследует полный набор сигналов:
| Сигнал | Описание |
|---|---|
| valueChanged() | Издается, когда значение ползунка изменилось. Значение tracking() определяет, излучается ли этот сигнал во время взаимодействия пользователя. |
| sliderPressed() | Издается, когда пользователь начинает перетаскивать ползунок. |
| sliderMoved() | Издается, когда пользователь перетаскивает ползунок. |
| sliderReleased() | Издается, когда пользователь отпускает ползунок. |
QSlider поддерживает только целые числа. Обратите внимание, что, хотя QSlider обрабатывает очень большие числа, пользователю становится сложно точно использовать ползунок для очень больших диапазонов.
Ползунок принимает фокус при нажатии Tab и поддерживает как колесо мыши, так и клавиатуру. Интерфейс клавиатуры выглядит следующим образом:
- Клавиши влево/вправо перемещают горизонтальный ползунок на один шаг.
- Клавиши вверх/вниз перемещают вертикальный ползунок на один шаг.
- Клавиша PageUp перемещает ползунок вверх на одну страницу.
- Клавиша PageDown перемещает ползунок вниз на одну страницу.
- Клавиша Home перемещает ползунок в начало (минимум).
- Клавиша End перемещает ползунок в конец (максимум).
См. также QScrollBar, QSpinBox, QDial, Руководство по проектированию пользовательского интерфейса: Ползунок и Пример ползунков.
Документация по типам членов
enum QSlider::TickPosition
Это перечисление определяет, где метки отображаются относительно канавки ползунка и ползунка, который перемещает пользователь.
| Постоянная | Значение | Описание |
|---|---|---|
QSlider::NoTicks |
0 |
Метки не выводятся. |
QSlider::TicksBothSides |
3 |
Метки выводятся с обеих сторон. |
QSlider::TicksAbove |
1 |
Метки выводятся над (горизонтальным) ползунком |
QSlider::TicksBelow |
2 |
Метки выводятся под (горизонтальным) ползунком |
QSlider::TicksLeft |
TicksAbove |
Метки выводятся слева от (вертикального) ползунка |
QSlider::TicksRight |
TicksBelow |
Метки выводятся справа от (вертикального) ползунка |
Документация по свойствам
tickInterval : int
Это свойство содержит интервал между метками.
Это интервал значений, а не пикселей. Если он равен 0, ползунок выберет значение между singleStep и pageStep.
Значение по умолчанию — 0.
Функции доступа:
| int | tickInterval() const |
| void | setTickInterval(int ti) |
См. также tickPosition, singleStep и pageStep.
tickPosition : TickPosition
Это свойство содержит положение меток для данного ползунка.
Допустимые значения описаны в перечислении QSlider::TickPosition.
Значение по умолчанию — QSlider::НетДелений.
Функции доступа:
| QSlider::TickPosition | tickPosition() const |
| void | setTickPosition(QSlider::TickPosition position) |
См. также tickInterval.
Документация по функциям членов
QSlider::QSlider(Qt::Orientation orientation, QWidget *parent = nullptr)
Создаёт ползунок с заданным parent. Параметр orientation определяет, будет ли ползунок горизонтальным или вертикальным; допустимые значения — Qt::Vertical и Qt::Horizontal.
QSlider::QSlider(QWidget *parent = nullptr)
Создаёт вертикальный ползунок с заданным parent.
[virtual] QSlider::~QSlider()
Уничтожает этот ползунок.
[override virtual] bool QSlider::event(QEvent *event)
Переопределяет: QAbstractSlider::event(QEvent *e).
[virtual protected] void QSlider::initStyleOption(QStyleOptionSlider *option) const
Инициализирует option значениями из этого QSlider. Этот метод полезен для подклассов, когда им нужен QStyleOptionSlider, но они не хотят заполнять всю информацию сами.
См. также QStyleOption::initFrom().
[override virtual] QSize QSlider::minimumSizeHint() const
Переопределяет функцию доступа к свойству: QWidget::minimumSizeHint.
[override virtual protected] void QSlider::mouseMoveEvent(QMouseEvent *ev)
Переопределяет: QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QSlider::mousePressEvent(QMouseEvent *ev)
Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QSlider::mouseReleaseEvent(QMouseEvent *ev)
Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] void QSlider::paintEvent(QPaintEvent *ev)
Переопределяет: QWidget::paintEvent(QPaintEvent *event).
[override virtual] QSize QSlider::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qslider.html