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 视为第 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 ,和 滑块范例 .
常量 | 值 |
---|---|
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
(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 ) |
此特性保持滑块是否反转其滚轮和键事件。
若此特性为
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 ) |
此特性保持滑块的最大值
当设置此特性时, 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
<=
值
<=
maximum
.
更改值也会改变 sliderPosition .
访问函数:
int | 值 () const |
void | setValue ( int ) |
通知程序信号:
void | valueChanged (int value ) |
构造抽象滑块。
parent 自变量被发送给 QWidget 构造函数。
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 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.
[protected]
SliderAction
QAbstractSlider::
repeatAction
() const
返回当前的重复动作。
另请参阅 setRepeatAction ().
[slot]
void
QAbstractSlider::
setRange
(
int
min
,
int
max
)
设置滑块的最小值为 min 和其最大值为 max .
若 max 小于 min , min 变为唯一合法值。
[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 ().
触发滑块 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 ().