QAbstractSlider 类提供在范围内的整数值。 更多...
头: | #include <QAbstractSlider> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
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 视为第 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 ,和 滑块范例 .
常量 | 值 |
---|---|
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
<=
值
<=
maximum
.
更改值也会改变 sliderPosition .
访问函数:
int | value () const |
void | setValue (int) |
通知程序信号:
void | valueChanged (int value ) |
[explicit]
QAbstractSlider::
QAbstractSlider
(
QWidget
*
parent
= nullptr)
构造抽象滑块。
The parent 自变量被发送给 QWidget 构造函数。
The minimum 默认为 0, maximum 到 99,采用 singleStep 1 尺寸和 pageStep 10 尺寸,及初始 value of 0.
[virtual noexcept]
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 (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).
[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 (QTimerEvent *event).
触发滑块 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 (QWheelEvent *event).