QAbstractSlider 类

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 )

额外继承成员

详细描述

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 () the value has changed. The tracking determines whether this signal is emitted during user interaction.
sliderPressed () the user starts to drag the slider.
sliderMoved () the user drags the slider.
sliderReleased () the user releases the slider.
actionTriggered () a slider action was triggerd.
rangeChanged () a the range has changed.

QAbstractSlider provides a virtual sliderChange () function that is well suited for updating the on-screen representation of sliders. By calling triggerAction (), subclasses trigger slider actions. Two helper functions QStyle::sliderPositionFromValue () 和 QStyle::sliderValueFromPosition () help subclasses and styles to map screen coordinates to logical range values.

另请参阅 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 (the default), the minimum and maximum will be shown in its classic position for the inherited widget. If the value is true, the minimum and maximum appear at their opposite location.

Note: This property makes most sense for sliders and dials. For scroll bars, the visual effect of the scroll bar subcontrols depends on whether or not the styles understand inverted appearance; most styles ignore this property for scroll bars.

访问函数:

bool invertedAppearance () const
void setInvertedAppearance ( bool )

invertedControls : bool

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

若此特性为 false , scrolling the mouse wheel "up" and using keys like page up will increase the slider's value towards its maximum. Otherwise pressing page up will move value towards the slider's minimum.

访问函数:

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 <= <= maximum .

更改值也会改变 sliderPosition .

访问函数:

int () const
void setValue ( int )

通知程序信号:

void valueChanged (int value )

成员函数文档编制

QAbstractSlider:: QAbstractSlider ( QWidget * parent = Q_NULLPTR)

构造抽象滑块。

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

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 has been adjusted according to the action, but the value has not yet been propagated (meaning the valueChanged () signal was not yet emitted), and the visual display has not been updated. In slots connected to this signal you can thus safely adjust any action by calling setSliderPosition () yourself, based on both the action and the slider's value.

另请参阅 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 )

This signal is emitted when the slider range has changed, with min being the new minimum, and max being the new maximum.

另请参阅 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 is true and the slider moves. This usually happens when the user is dragging the slider. The value is the new slider position.

此信号被发射,即使在跟踪被关闭时。

注意: 通知程序信号对于特性 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 ().