QAbstractSlider 類

The QAbstractSlider 類提供在範圍內的整數值。 更多...

頭: #include <QAbstractSlider>
繼承: QWidget
繼承者: QDial , QScrollBar ,和 QSlider

公共類型

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

特性

公共函數

QAbstractSlider (QWidget * parent = 0)
~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 setRange (int min , int max )
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 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

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

If this property is 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.

注意:此特性對於滑塊和錶盤最有意義。對於滾動條,滾動條子控件的視覺效果從屬樣式是否理解反轉外觀;大多數樣式會忽略,用於滾動條的此特性。

訪問函數:

bool invertedAppearance () const
void setInvertedAppearance (bool)

invertedControls : bool

此特性保持滑塊是否反轉其滾輪和鍵事件。

If this property is 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

This property holds the slider's maximum value.

當設置此特性時, minimum 被調節若有必要,以確保範圍仍然有效。滑塊的當前值也被調節到新範圍內。

訪問函數:

int maximum () const
void setMaximum (int)

minimum : int

This property holds the sliders's minimum value.

當設置此特性時, maximum 被調節若有必要,以確保範圍仍然有效。滑塊的當前值也被調節到新範圍內。

訪問函數:

int minimum () const
void setMinimum (int)

orientation : Qt::Orientation

This property holds the orientation of the slider.

取嚮必須是 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

This property holds the current slider position.

tracking 被啓用 (默認),這等同於 value .

訪問函數:

int sliderPosition () const
void setSliderPosition (int)

通知程序信號:

void sliderMoved (int value )

tracking : bool

This property holds whether slider tracking is enabled.

若追蹤被啓用 (默認),滑塊發射 valueChanged () 信號,當在拖拽滑塊時。若追蹤被禁用,滑塊發射 valueChanged () 信號,僅當用戶釋放滑塊時。

訪問函數:

bool hasTracking () const
void setTracking (bool enable )

另請參閱 sliderDown .

value : int

This property holds the slider's current value.

滑塊將值強製在閤法範圍內: minimum <= <= maximum .

更改值也會改變 sliderPosition .

訪問函數:

int value () const
void setValue (int)

通知程序信號:

void valueChanged (int value )

成員函數文檔編製

QAbstractSlider:: QAbstractSlider ( QWidget * parent = 0)

構造抽象滑塊。

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 ().

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:: 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 ().

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

重實現自 QWidget::wheelEvent ().