QSlider 类

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

头: #include <QSlider>
qmake: QT += widgets
继承: QAbstractSlider

公共类型

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

特性

公共函数

QSlider (QWidget * parent = Q_NULLPTR)
QSlider (Qt::Orientation orientation , QWidget * parent = Q_NULLPTR)
~QSlider ()
void setTickInterval (int ti )
void setTickPosition (TickPosition position )
int tickInterval () const
TickPosition tickPosition () const

重实现公共函数

virtual bool event (QEvent * event )
virtual QSize minimumSizeHint () const
virtual QSize sizeHint () const

保护函数

void initStyleOption (QStyleOptionSlider * option ) const

重实现保护函数

virtual void mouseMoveEvent (QMouseEvent * ev )
virtual void mousePressEvent (QMouseEvent * ev )
virtual void mouseReleaseEvent (QMouseEvent * ev )
virtual void paintEvent (QPaintEvent * ev )

额外继承成员

详细描述

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

滑块是用于控制有界值的经典 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 , GUI 设计手册:滑块 ,和 滑块范例 .

成员类型文档编制

enum QSlider:: TickPosition

此枚举指定相对滑块凹槽和用户移动手柄,在哪里绘制刻度标记。

常量 描述
QSlider::NoTicks 0 不绘制任何刻度标记。
QSlider::TicksBothSides 3 在凹槽 2 侧绘制刻度标记。
QSlider::TicksAbove 1 在 (水平) 滑块上方绘制刻度标记
QSlider::TicksBelow 2 在 (水平) 滑块下方绘制刻度标记
QSlider::TicksLeft TicksAbove 在 (垂直) 滑块左侧绘制刻度标记
QSlider::TicksRight TicksBelow 在 (垂直) 滑块右侧绘制刻度标记

特性文档编制

tickInterval : int

此特性保持刻度标记之间的间隔

This is a value interval, not a pixel interval. If it is 0, the slider will choose between singleStep and pageStep .

默认值为 0。

访问函数:

int tickInterval () const
void setTickInterval (int ti )

另请参阅 tickPosition , singleStep ,和 pageStep .

tickPosition : TickPosition

此特性保持用于此滑块的刻度标记位置

有效值描述通过 QSlider::TickPosition 枚举。

默认值为 QSlider::NoTicks .

访问函数:

TickPosition tickPosition () const
void setTickPosition (TickPosition position )

另请参阅 tickInterval .

成员函数文档编制

QSlider:: QSlider ( QWidget * parent = Q_NULLPTR)

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

QSlider:: QSlider ( Qt::Orientation orientation , QWidget * parent = Q_NULLPTR)

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

QSlider:: ~QSlider ()

销毁此滑块。

[虚拟] bool QSlider:: event ( QEvent * event )

重实现自 QObject::event ().

[protected] void QSlider:: initStyleOption ( QStyleOptionSlider * option ) const

初始化 option 采用值来自此 QSlider 。此方法对子类是有用的,当需要 QStyleOptionSlider ,但不希望自己填充所有信息。

另请参阅 QStyleOption::initFrom ().

[虚拟] QSize QSlider:: minimumSizeHint () const

重实现自 QWidget::minimumSizeHint ().

[virtual protected] void QSlider:: mouseMoveEvent ( QMouseEvent * ev )

重实现自 QWidget::mouseMoveEvent ().

[virtual protected] void QSlider:: mousePressEvent ( QMouseEvent * ev )

重实现自 QWidget::mousePressEvent ().

[virtual protected] void QSlider:: mouseReleaseEvent ( QMouseEvent * ev )

重实现自 QWidget::mouseReleaseEvent ().

[virtual protected] void QSlider:: paintEvent ( QPaintEvent * ev )

重实现自 QWidget::paintEvent ().

[虚拟] QSize QSlider:: sizeHint () const

重实现自 QWidget::sizeHint ().