QAbstractSlider 类

The QAbstractSlider 类提供在范围内的整数值。 更多...

头: #include <QAbstractSlider>
qmake: QT += widgets
继承: QWidget
继承者: QDial , QScrollBar ,和 QSlider

公共类型

enum SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, ..., SliderMove }

特性

公共函数

QAbstractSlider (QWidget * parent = Q_NULLPTR)
~QAbstractSlider ()
bool hasTracking () const
bool invertedAppearance () const
bool invertedControls () const
bool isSliderDown () const
int maximum () const
int minimum () const
Qt::Orientation orientation () const
int pageStep () const
void setInvertedAppearance ( bool )
void setInvertedControls ( bool )
void setMaximum ( int )
void setMinimum ( int )
void setPageStep ( int )
void setSingleStep ( int )
void setSliderDown ( bool )
void setSliderPosition ( int )
void setTracking (bool enable )
int singleStep () const
int sliderPosition () const
void triggerAction (SliderAction action )
int value () const

公共槽

void setOrientation ( Qt::Orientation )
void setRange (int min , int max )
void setValue ( int )

信号

void actionTriggered (int action )
void rangeChanged (int min , int max )
void sliderMoved (int value )
void sliderPressed ()
void sliderReleased ()
void valueChanged (int value )

保护类型

enum SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange }

保护函数

SliderAction repeatAction () const
void setRepeatAction (SliderAction action , int thresholdTime = 500, int repeatTime = 50)
virtual void sliderChange (SliderChange change )

重实现保护函数

virtual void changeEvent (QEvent * ev )
virtual bool event (QEvent * e )
virtual void keyPressEvent (QKeyEvent * ev )
virtual void timerEvent (QTimerEvent * e )
virtual void wheelEvent (QWheelEvent * e )

额外继承成员

详细描述

The QAbstractSlider 类提供在范围内的整数值。

此类被设计作为 Widget 的通用超类像 QScrollBar , QSlider and QDial .

这里是类的主要特性:

  1. value :有界整数由 QAbstractSlider 维护。
  2. minimum :最低可能值。
  3. maximum :最高可能值。
  4. singleStep :由抽象滑块提供的 2 自然步幅中的较小者,通常相当于用户按下箭头键。
  5. pageStep :由抽象滑块提供的 2 自然步幅中的较大者,通常相当于用户按下 PageUp 或 PageDown。
  6. tracking :是否启用滑块追踪。
  7. sliderPosition :滑块的当前位置。若 tracking 被启用 (默认),这等同于 value .

可以将整体 1 视为第 3 步幅大小。 setValue () 允许将当前值设为在允许范围内的任何整数,不仅仅是 minimum () + n * singleStep () 对于整数值 n 。某些 Widget 可能允许用户设置任何根本值;其它 Widget 可能仅仅提供倍增 singleStep () 或 pageStep ().

QAbstractSlider emits a comprehensive set of signals:

信号 发射当
valueChanged () 值已改变。 tracking 确定用户交互期间是否发射此信号。
sliderPressed () 用户开始拖拽滑块。
sliderMoved () 用户拖拽滑块。
sliderReleased () 用户释放滑块。
actionTriggered () a slider action was triggerd.
rangeChanged () 范围已改变。

QAbstractSlider provides a virtual sliderChange () 函数非常适于更新屏幕上的滑块表示。通过调用 triggerAction (),子类触发滑块动作。2 帮手函数 QStyle::sliderPositionFromValue () 和 QStyle::sliderValueFromPosition () 帮助子类和样式将屏幕坐标,映射到逻辑范围值。

另请参阅 QAbstractSpinBox , QSlider , QDial , QScrollBar ,和 滑块范例 .

成员类型文档编制

enum QAbstractSlider:: SliderAction

常量
QAbstractSlider::SliderNoAction 0
QAbstractSlider::SliderSingleStepAdd 1
QAbstractSlider::SliderSingleStepSub 2
QAbstractSlider::SliderPageStepAdd 3
QAbstractSlider::SliderPageStepSub 4
QAbstractSlider::SliderToMinimum 5
QAbstractSlider::SliderToMaximum 6
QAbstractSlider::SliderMove 7

enum QAbstractSlider:: SliderChange

常量
QAbstractSlider::SliderRangeChange 0
QAbstractSlider::SliderOrientationChange 1
QAbstractSlider::SliderStepsChange 2
QAbstractSlider::SliderValueChange 3

特性文档编制

invertedAppearance : bool

此特性保持滑块是否展示其值的倒置。

若此特性为 false (默认),最小和最大值将展示在继承 Widget 的经典位置。若值为 true,最小和最大值将出现在其相反定位。

注意:此特性对于滑块和表盘最有意义。对于滚动条,滚动条子控件的视觉效果从属样式是否理解反转外观;大多数样式会忽略,用于滚动条的此特性。

访问函数:

bool invertedAppearance () const
void setInvertedAppearance ( bool )

invertedControls : bool

此特性保持滑块是否反转其滚轮和键事件。

若此特性为 false ,"向上" 卷动鼠标滚轮并使用像 Page Up 键将朝最大递增滑块值。否则,按下 Page Up 将朝最小移动滑块值。

访问函数:

bool invertedControls () const
void setInvertedControls ( bool )

maximum : int

此特性保持滑块的最大值

当设置此特性时, minimum 被调节若有必要,以确保范围仍然有效。滑块的当前值也被调节到新范围内。

访问函数:

int maximum () const
void setMaximum ( int )

minimum : int

此特性保持滑块的最小值

当设置此特性时, maximum 被调节若有必要,以确保范围仍然有效。滑块的当前值也被调节到新范围内。

访问函数:

int minimum () const
void setMinimum ( int )

orientation : Qt::Orientation

此特性保持滑块的取向

取向必须是 Qt::Vertical (默认) 或 Qt::Horizontal .

访问函数:

Qt::Orientation orientation () const
void setOrientation ( Qt::Orientation )

pageStep : int

此特性保持页面步幅。

由抽象滑块提供的 2 自然步幅中的较大者,通常相当于用户按下 PageUp 或 PageDown。

访问函数:

int pageStep () const
void setPageStep ( int )

另请参阅 singleStep .

singleStep : int

此特性保持单步幅。

由抽象滑块提供的 2 自然步幅中的较小者,通常相当于用户按下箭头键。

若在自动重复键事件期间修改特性,行为不确定。

访问函数:

int singleStep () const
void setSingleStep ( int )

另请参阅 pageStep .

sliderDown : bool

此特性保持滑块是否被按下。

特性由子类设置,为让抽象滑块知道是否 tracking 有任何效果。

改变滑块向下特性会发射 sliderPressed () 和 sliderReleased () 信号。

访问函数:

bool isSliderDown () const
void setSliderDown ( bool )

sliderPosition : int

此特性保持当前滑块位置

tracking 被启用 (默认),这等同于 value .

访问函数:

int sliderPosition () const
void setSliderPosition ( int )

通知程序信号:

void sliderMoved (int value )

tracking : bool

此特性保持是否启用滑块追踪

若启用追踪 (默认),滑块发射 valueChanged () 信号当滑块正被拖拽时。若跟踪被禁用,滑块发射 valueChanged () 信号仅当用户释放滑块时。

访问函数:

bool hasTracking () const
void setTracking (bool enable )

另请参阅 sliderDown .

value : int

此特性保持滑块的当前值

滑块将值强制在合法范围内: minimum <= value <= maximum .

更改值也会改变 sliderPosition .

访问函数:

int value () const
void setValue ( int )

通知程序信号:

void valueChanged (int value )

成员函数文档编制

QAbstractSlider:: QAbstractSlider ( QWidget * parent = Q_NULLPTR)

构造抽象滑块。

The parent 自变量被发送给 QWidget 构造函数。

The minimum 默认为 0, maximum 到 99,采用 singleStep 1 尺寸和 pageStep 10 尺寸,及初始 value of 0.

QAbstractSlider:: ~QAbstractSlider ()

销毁滑块。

[signal] void QAbstractSlider:: actionTriggered ( int action )

此信号被发射当滑块动作 action 被触发。动作是 SliderSingleStepAdd , SliderSingleStepSub , SliderPageStepAdd , SliderPageStepSub , SliderToMinimum , SliderToMaximum ,和 SliderMove .

当发射信号时, sliderPosition 已调节根据动作,但 value 尚未被传播 (意味着 valueChanged () 信号尚未被发射),且尚未更新视觉显示。在连接到此信号的槽中,因此可以安全地调节任何动作通过调用 setSliderPosition () 本身,基于动作和滑块值两者。

另请参阅 triggerAction ().

[virtual protected] void QAbstractSlider:: changeEvent ( QEvent * ev )

重实现自 QWidget::changeEvent ().

[virtual protected] bool QAbstractSlider:: event ( QEvent * e )

重实现自 QObject::event ().

[virtual protected] void QAbstractSlider:: keyPressEvent ( QKeyEvent * ev )

重实现自 QWidget::keyPressEvent ().

[signal] void QAbstractSlider:: rangeChanged ( int min , int max )

此信号被发射当滑块范围已改变时,按 min 是新的最小值,而 max 是新的最大值。

另请参阅 minimum and maximum .

[protected] SliderAction QAbstractSlider:: repeatAction () const

返回当前的重复动作。

另请参阅 setRepeatAction ().

[slot] void QAbstractSlider:: setRange ( int min , int max )

设置滑块的最小值为 min 和其最大值为 max .

max 小于 min , min 变为唯一合法值。

另请参阅 minimum and maximum .

[protected] void QAbstractSlider:: setRepeatAction ( SliderAction action , int thresholdTime = 500, int repeatTime = 50)

设置动作 action 以重复触发按间隔 repeatTime ,后于初始延迟 thresholdTime .

另请参阅 triggerAction () 和 repeatAction ().

[virtual protected] void QAbstractSlider:: sliderChange ( SliderChange change )

重实现此虚函数以跟踪滑块变化,譬如 SliderRangeChange , SliderOrientationChange , SliderStepsChange ,或 SliderValueChange 。默认实现只更新显示并忽略 change 参数。

[signal] void QAbstractSlider:: sliderMoved ( int value )

此信号被发射当 sliderDown 为 true 且滑块有移动。这通常发生在用户拖拽滑块时。 value 是新的滑块位置。

此信号被发射,甚至在关闭追踪时。

注意: 通知程序信号对于特性 sliderPosition .

另请参阅 setTracking (), valueChanged (), isSliderDown (), sliderPressed (),和 sliderReleased ().

[signal] void QAbstractSlider:: sliderPressed ()

此信号被发射当用户采用鼠标按下滑块时,或以编程方式当 setSliderDown (true) 被调用。

另请参阅 sliderReleased (), sliderMoved (),和 isSliderDown ().

[signal] void QAbstractSlider:: sliderReleased ()

此信号被发射当用户采用鼠标释放滑块时,或以编程方式当 setSliderDown (false) 被调用。

另请参阅 sliderPressed (), sliderMoved (),和 sliderDown .

[virtual protected] void QAbstractSlider:: timerEvent ( QTimerEvent * e )

重实现自 QObject::timerEvent ().

void QAbstractSlider:: triggerAction ( SliderAction action )

触发滑块 action 。可能的动作是 SliderSingleStepAdd , SliderSingleStepSub , SliderPageStepAdd , SliderPageStepSub , SliderToMinimum , SliderToMaximum ,和 SliderMove .

另请参阅 actionTriggered ().

[signal] void QAbstractSlider:: valueChanged ( int value )

此信号被发射当滑块值已改变时,采用新滑块 value 作为自变量。

注意: 通知程序信号对于特性 value .

[virtual protected] void QAbstractSlider:: wheelEvent ( QWheelEvent * e )

重实现自 QWidget::wheelEvent ().