Класс QSlider
Виджет QSlider предоставляет ползунок вертикального или горизонтального типа. Подробнее...
| Заголовок: | #include <QSlider> |
| 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).
[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-5.15/qslider.html