Класс 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) | |
| виртуальный | ~QSlider() |
| void | setTickInterval(int ti) |
| void | setTickPosition(QSlider::TickPosition position) |
| int | tickInterval() const |
| QSlider::TickPosition | tickPosition() const |
Переопределенные функции публичного доступа
| виртуальный bool | event(QEvent *event) override |
| виртуальный QSize | minimumSizeHint() const override |
| виртуальный QSize | sizeHint() const override |
Защищенные функции
| виртуальный void | initStyleOption(QStyleOptionSlider *option) const |
Переопределённые защищённые функции
| виртуальный void | mouseMoveEvent(QMouseEvent *ev) override |
| виртуальный void | mousePressEvent(QMouseEvent *ev) override |
| виртуальный void | mouseReleaseEvent(QMouseEvent *ev) override |
| виртуальный 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, Руководство по проектированию пользовательского интерфейса: ползунки и Пример ползунков.
Документация по типам членов
Перечисление 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::NoTicks.
Функции доступа:
| 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.2/qslider.html