Класс QSlider
Виджет QSlider предоставляет ползунок вертикального или горизонтального типа. Подробнее...
| Заголовок: | #include <QSlider> |
| 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 |
Защищённые функции
| 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).
[protected] void QSlider::initStyleOption(QStyleOptionSlider *option) const
Инициализирует option значениями из этого QSlider. Этот метод полезен для подклассов, когда им нужен QStyleOptionSlider, но они не хотят заполнять всю информацию сами.
См. также QStyleOption::initFrom().
[override virtual] QSize QSlider::minimumSizeHint() const
Переопределяет: QWidget::minimumSizeHint() const.
[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() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qslider.html