QAbstractSlider 類

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

頭: #include <QAbstractSlider>
qmake: QT += widgets
繼承: QWidget
繼承者:

QDial , QScrollBar ,和 QSlider

公共類型

enum SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, …, SliderMove }

特性

公共函數

QAbstractSlider (QWidget * parent = nullptr)
virtual ~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 (QAbstractSlider::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 }

保護函數

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

重實現保護函數

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

詳細描述

此類被設計作為 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 發射一組綜閤信號:

信號 發射當
valueChanged () 值已改變。 tracking 確定用戶交互期間是否發射此信號。
sliderPressed () 用戶開始拖拽滑塊。
sliderMoved () 用戶拖拽滑塊。
sliderReleased () 用戶釋放滑塊。
actionTriggered () 滑塊動作被觸發。
rangeChanged () 範圍已改變。

QAbstractSlider 提供虛擬 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 <= <= maximum .

更改值也會改變 sliderPosition .

訪問函數:

int value () const
void setValue ( int )

通知程序信號:

void valueChanged (int value )

成員函數文檔編製

QAbstractSlider:: QAbstractSlider ( QWidget * parent = nullptr)

構造抽象滑塊。

The parent 自變量被發送給 QWidget 構造函數。

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

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

此信號被發射當滑塊動作 action 被觸發。動作是 SliderSingleStepAdd , SliderSingleStepSub , SliderPageStepAdd , SliderPageStepSub , SliderToMinimum , SliderToMaximum ,和 SliderMove .

當發射信號時, sliderPosition 已調節根據動作,但 value 尚未被傳播 (意味著 valueChanged () 信號尚未被發射),且尚未更新視覺顯示。在連接到此信號的槽中,因此可以安全地調節任何動作通過調用 setSliderPosition () 本身,基於動作和滑塊值兩者。

另請參閱 triggerAction ().

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

此信號被發射當滑塊範圍已改變時,按 min 是新的最小值,而 max 是新的最大值。

另請參閱 minimum and maximum .

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

設置滑塊的最小值為 min 和其最大值為 max .

max < min , min 變為唯一閤法值。

另請參閱 minimum and maximum .

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

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

此信號被發射當滑塊值已改變時,采用新滑塊 value 作為自變量。

注意: 通知程序信號對於特性 value .

[虛擬] QAbstractSlider:: ~QAbstractSlider ()

銷毀滑塊。

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

重實現: QWidget::changeEvent (QEvent *event).

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

重實現: QWidget::event (QEvent *event).

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

重實現: QWidget::keyPressEvent (QKeyEvent *event).

[protected] QAbstractSlider::SliderAction QAbstractSlider:: repeatAction () const

返迴當前的重復動作。

另請參閱 setRepeatAction ().

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

設置動作 action 以重復觸發按間隔 repeatTime ,後於初始延遲 thresholdTime .

另請參閱 triggerAction () 和 repeatAction ().

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

重實現此虛函數以跟蹤滑塊變化,譬如 SliderRangeChange , SliderOrientationChange , SliderStepsChange ,或 SliderValueChange 。默認實現隻更新顯示並忽略 change 參數。

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

重實現: QObject::timerEvent (QTimerEvent *event).

void QAbstractSlider:: triggerAction ( QAbstractSlider::SliderAction action )

觸發滑塊 action 。可能的動作是 SliderSingleStepAdd , SliderSingleStepSub , SliderPageStepAdd , SliderPageStepSub , SliderToMinimum , SliderToMaximum ,和 SliderMove .

另請參閱 actionTriggered ().

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

重實現: QWidget::wheelEvent (QWheelEvent *event).