QSlider 类
QSlider 小部件提供了垂直或水平的滑块。 更多...
| 头文件 | #include <QSlider> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) | 
| qmake | QT += widgets | 
| 继承自 | QAbstractSlider | 
公共类型
| 枚举 | TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight } | 
属性
- tickInterval : int
- tickPosition : TickPosition
公共函数
| QSlider(QWidget *parent = nullptr) | |
| QSlider(Qt::Orientation orientation, 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 和 滑动条示例。
成员类型文档
enum 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(QWidget *parent = nullptr)
使用指定的parent构造一个垂直滑块。
[显式] QSlider::QSlider(Qt::Orientation orientation, QWidget *parent = nullptr)
使用指定的parent构造一个滑块。参数orientation确定滑块是水平的还是垂直的;有效的值是Qt::Vertical和Qt::Horizontal。
[虚函数] QSlider::~QSlider()
销毁此滑块。
[重写虚函数] bool QSlider::event(QEvent *event)
重写了 QAbstractSlider::event(QEvent *e)。
[虚保护] void QSlider::initStyleOption(QStyleOptionSlider *option) const
使用此QSlider的值初始化option。此方法对于需要QStyleOptionSlider但不想自行填写所有信息的子类很有用。
[重写虚函数] QSize QSlider::minimumSizeHint() const
重写了QWidget::minimumSizeHint属性的访问函数。
[重写虚保护] void QSlider::mouseMoveEvent(QMouseEvent *ev)
重写了 QWidget::mouseMoveEvent(QMouseEvent *event)。
[重写虚保护] void QSlider::mousePressEvent(QMouseEvent *ev)
重写了 QWidget::mousePressEvent(QMouseEvent *event)。
[重写虚保护] void QSlider::mouseReleaseEvent(QMouseEvent *ev)
重写了 QWidget::mouseReleaseEvent(QMouseEvent *event)。
[覆盖虚受保护] void QSlider::paintEvent(QPaintEvent *ev)
重新实现:QWidget::paintEvent(QPaintEvent *event).
[覆盖虚保护] QSize QSlider::sizeHint() const
重新实现访问属性的方法:QWidget::sizeHint.
© 2024 The Qt Company Ltd. 本文档中的贡献版权归其各自的所有者。本提供的文档是在自由软件基金会发布、根据GNU自由文档许可证(版本1.3)许可下提供的。Qt及其相关标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。