QSlider 类

QSlider 小部件提供垂直 (或水平) 滑块。 更多...

头: #include <QSlider>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QAbstractSlider

公共类型

enum TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight }

特性

公共函数

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

详细描述

滑块是用于控制有界值的经典 Widget。它让用户沿水平或垂直凹槽移动滑块手柄,并将手柄位置翻译成在合法范围内的整数值。

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 在凹槽 2 侧绘制刻度标记。
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 .

成员函数文档编制

[explicit] QSlider:: QSlider ( QWidget * parent = nullptr)

构造垂直滑块采用给定 parent .

[explicit] QSlider:: QSlider ( Qt::Orientation orientation , QWidget * parent = nullptr)

构造滑块采用给定 parent orientation 参数确定滑块是水平的还是垂直的;有效值为 Qt::Vertical and Qt::Horizontal .

[virtual noexcept] QSlider:: ~QSlider ()

销毁此滑块。

[override virtual] bool QSlider:: event ( QEvent * event )

重实现: QAbstractSlider::event (QEvent *e).

[virtual 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 .