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.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。