The QAbstractSlider 類提供在範圍內的整數值。 更多...
| 頭: | #include <QAbstractSlider> |
| qmake: | QT += widgets |
| 繼承: | QWidget |
| 繼承者: | QDial , QScrollBar ,和 QSlider |
| enum | SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, ..., 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 ) |
| const QMetaObject | staticMetaObject |
| 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 |
The QAbstractSlider 類提供在範圍內的整數值。
此類被設計作為 Widget 的通用超類像 QScrollBar , QSlider and QDial .
這裏是類的主要特性:
可以把整體 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 ,和 滑塊範例 .
| 常量 | 值 |
|---|---|
QAbstractSlider::SliderNoAction
|
0
|
QAbstractSlider::SliderSingleStepAdd
|
1
|
QAbstractSlider::SliderSingleStepSub
|
2
|
QAbstractSlider::SliderPageStepAdd
|
3
|
QAbstractSlider::SliderPageStepSub
|
4
|
QAbstractSlider::SliderToMinimum
|
5
|
QAbstractSlider::SliderToMaximum
|
6
|
QAbstractSlider::SliderMove
|
7
|
| 常量 | 值 |
|---|---|
QAbstractSlider::SliderRangeChange
|
0
|
QAbstractSlider::SliderOrientationChange
|
1
|
QAbstractSlider::SliderStepsChange
|
2
|
QAbstractSlider::SliderValueChange
|
3
|
此特性保持滑塊是否展示其值的倒置。
若此特性為
false
(默認),最小和最大值將展示在繼承 Widget 的經典位置。若值為 true,最小和最大值將齣現在其相反定位。
注意:此特性對於滑塊和錶盤最有意義。對於滾動條,滾動條子控件的視覺效果從屬樣式是否理解反轉外觀;大多數樣式會忽略,用於滾動條的此特性。
訪問函數:
| bool | invertedAppearance () const |
| void | setInvertedAppearance ( bool ) |
此特性保持滑塊是否反轉其滾輪和鍵事件。
若此特性為
false
,"嚮上" 捲動鼠標滾輪並使用像 Page Up 鍵將朝最大遞增滑塊值。否則,按下 Page Up 將朝最小移動滑塊值。
訪問函數:
| bool | invertedControls () const |
| void | setInvertedControls ( bool ) |
此特性保持滑塊的最大值
當設置此特性時, minimum 被調節若有必要,以確保範圍仍然有效。滑塊的當前值也被調節到新範圍內。
訪問函數:
| int | maximum () const |
| void | setMaximum ( int ) |
此特性保持滑塊的最小值
當設置此特性時, maximum 被調節若有必要,以確保範圍仍然有效。滑塊的當前值也被調節到新範圍內。
訪問函數:
| int | minimum () const |
| void | setMinimum ( int ) |
此特性保持滑塊的取嚮
取嚮必須是 Qt::Vertical (默認) 或 Qt::Horizontal .
訪問函數:
| Qt::Orientation | orientation () const |
| void | setOrientation ( Qt::Orientation ) |
此特性保持頁麵步幅。
由抽象滑塊提供的 2 自然步幅中的較大者,通常相當於用戶按下 PageUp 或 PageDown。
訪問函數:
| int | pageStep () const |
| void | setPageStep ( int ) |
另請參閱 singleStep .
此特性保持單步幅。
由抽象滑塊提供的 2 自然步幅中的較小者,通常相當於用戶按下箭頭鍵。
若在自動重復鍵事件期間修改特性,行為不確定。
訪問函數:
| int | singleStep () const |
| void | setSingleStep ( int ) |
另請參閱 pageStep .
此特性保持滑塊是否被按下。
特性由子類設置,為讓抽象滑塊知道是否 tracking 有任何效果。
改變滑塊嚮下特性會發射 sliderPressed () 和 sliderReleased () 信號。
訪問函數:
| bool | isSliderDown () const |
| void | setSliderDown ( bool ) |
此特性保持當前滑塊位置
若 tracking 被啓用 (默認),這等同於 value .
訪問函數:
| int | sliderPosition () const |
| void | setSliderPosition ( int ) |
通知程序信號:
| void | sliderMoved (int value ) |
此特性保持是否啓用滑塊追蹤
若追蹤被啓用 (默認),滑塊發射 valueChanged () 信號,當在拖拽滑塊時。若追蹤被禁用,滑塊發射 valueChanged () 信號,僅當用戶釋放滑塊時。
訪問函數:
| bool | hasTracking () const |
| void | setTracking (bool enable ) |
另請參閱 sliderDown .
此特性保持滑塊的當前值
滑塊將值強製在閤法範圍內:
minimum
<=
value
<=
maximum
.
更改值也會改變 sliderPosition .
訪問函數:
| int | value () const |
| void | setValue ( int ) |
通知程序信號:
| void | valueChanged (int value ) |
構造抽象滑塊。
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 ().
[override virtual protected]
void
QAbstractSlider::
changeEvent
(
QEvent
*
ev
)
重實現自 QWidget::changeEvent ().
[override virtual protected]
bool
QAbstractSlider::
event
(
QEvent
*
e
)
重實現自 QWidget::event ().
[override virtual protected]
void
QAbstractSlider::
keyPressEvent
(
QKeyEvent
*
ev
)
重實現自 QWidget::keyPressEvent ().
[signal]
void
QAbstractSlider::
rangeChanged
(
int
min
,
int
max
)
此信號被發射當滑塊範圍已改變時,按 min 是新的最小值,而 max 是新的最大值。
[protected]
QAbstractSlider::SliderAction
QAbstractSlider::
repeatAction
() const
返迴當前的重復動作。
另請參閱 setRepeatAction ().
[slot]
void
QAbstractSlider::
setRange
(
int
min
,
int
max
)
設置滑塊的最小值為 min 和其最大值為 max .
若 max < min , min 變為唯一閤法值。
[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 參數。
[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 .
[override virtual protected]
void
QAbstractSlider::
timerEvent
(
QTimerEvent
*
e
)
重實現自 QObject::timerEvent ().
觸發滑塊 action 。可能的動作是 SliderSingleStepAdd , SliderSingleStepSub , SliderPageStepAdd , SliderPageStepSub , SliderToMinimum , SliderToMaximum ,和 SliderMove .
另請參閱 actionTriggered ().
[signal]
void
QAbstractSlider::
valueChanged
(
int
value
)
此信號被發射當滑塊值已改變時,采用新滑塊 value 作為自變量。
注意: 通知程序信號對於特性 value .
[override virtual protected]
void
QAbstractSlider::
wheelEvent
(
QWheelEvent
*
e
)
重實現自 QWidget::wheelEvent ().