Класс QSlider
Виджет QSlider предоставляет ползунок вертикального или горизонтального типа. Подробнее...
| Заголовок: | #include <QSlider> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QAbstractSlider |
Типы публичного доступа
| Перечисление | TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight } |
Свойства
- 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, Руководство по проектированию графического интерфейса пользователя: ползунок и Пример ползунков.
Документация по типам членов
перечисление 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.1/qslider.html