Класс 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.
[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.14/qslider.html