QSlider 小部件提供垂直 (或水平) 滑块。 更多...
头: | #include <QSlider> |
CMake: |
find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QAbstractSlider |
enum | TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight } |
QSlider (Qt::Orientation orientation , QWidget * parent = nullptr) | |
QSlider (QWidget * parent = nullptr) | |
virtual | ~QSlider () |
void | setTickInterval (int ti ) |
void | setTickPosition (QSlider::TickPosition position ) |
int | tickInterval () const |
QSlider::TickPosition | tickPosition () const |
virtual bool | event (QEvent * event ) override |
virtual QSize | minimumSizeHint () const override |
virtual QSize | sizeHint () const override |
virtual void | initStyleOption (QStyleOptionSlider * option ) const |
virtual void | mouseMoveEvent (QMouseEvent * ev ) override |
virtual void | mousePressEvent (QMouseEvent * ev ) override |
virtual void | mouseReleaseEvent (QMouseEvent * ev ) override |
virtual void | paintEvent (QPaintEvent * ev ) override |
滑块是用于控制有界值的经典 Widget。它让用户沿水平或垂直凹槽移动滑块手柄,并将手柄位置翻译成在合法范围内的整数值。
QSlider 自己拥有很少功能;大多数功能在 QAbstractSlider 。最有用的函数是 setValue () 直接将滑块设置为某个值; triggerAction () 模拟点击效果 (对于快捷键很有用); setSingleStep (), setPageStep () 设置步幅;而 setMinimum () 和 setMaximum () 定义滚动条的范围。
QSlider 提供用于控制刻度标记的方法。可以使用 setTickPosition () 指示想要刻度标记在哪里, setTickInterval () 指示想要它们多少。可以查询目前设置的刻度位置和间隔,使用 tickPosition () 和 tickInterval () 函数,分别。
QSlider 继承了一组综合信号:
信号 | 描述 |
---|---|
valueChanged () | 发射当滑块值改变时。tracking() 确定是否有发射此信号在用户交互期间。 |
sliderPressed () | 发射当用户开始拖拽滑块时。 |
sliderMoved () | 发射当用户拖拽滑块时。 |
sliderReleased () | 发射当用户释放滑块时。 |
QSlider 仅提供整数范围。注意,尽管 QSlider 能处理很大的数,但对用户而言,在很大范围内精确使用滑块会变得困难。
滑块接受 Tab 聚焦,并提供鼠标滚轮及键盘接口。键盘接口如下:
另请参阅 QScrollBar , QSpinBox , QDial , GUI 设计手册:滑块 ,和 滑块范例 .
此枚举指定相对滑块凹槽和用户移动手柄,在哪里绘制刻度标记。
常量 | 值 | 描述 |
---|---|---|
QSlider::NoTicks
|
0
|
不绘制任何刻度标记。 |
QSlider::TicksBothSides
|
3
|
在凹槽 2 侧绘制刻度标记。 |
QSlider::TicksAbove
|
1
|
在 (水平) 滑块上方绘制刻度标记 |
QSlider::TicksBelow
|
2
|
在 (水平) 滑块下方绘制刻度标记 |
QSlider::TicksLeft
|
TicksAbove
|
在 (垂直) 滑块左侧绘制刻度标记 |
QSlider::TicksRight
|
TicksBelow
|
在 (垂直) 滑块右侧绘制刻度标记 |
此特性保持刻度标记之间的间隔
这是值间隔,不是像素间隔。若为 0,滑块将在 singleStep 和 pageStep 之间选择。
默认值为 0。
访问函数:
int | tickInterval () const |
void | setTickInterval (int ti ) |
另请参阅 tickPosition , singleStep ,和 pageStep .
此特性保持用于此滑块的刻度标记位置
有效值描述通过 QSlider::TickPosition 枚举。
默认值为 QSlider::NoTicks .
访问函数:
QSlider::TickPosition | tickPosition () const |
void | setTickPosition (QSlider::TickPosition position ) |
另请参阅 tickInterval .
构造滑块采用给定 parent 。 orientation 参数确定滑块是水平的还是垂直的;有效值为 Qt::Vertical and Qt::Horizontal .
构造垂直滑块采用给定 parent .
[虚拟]
QSlider::
~QSlider
()
销毁此滑块。
[override virtual]
bool
QSlider::
event
(
QEvent
*
event
)
重实现: QAbstractSlider::event (QEvent *e).
[virtual protected]
void
QSlider::
initStyleOption
(
QStyleOptionSlider
*
option
) const
初始化 option 采用值来自此 QSlider 。此方法对子类是有用的,当需要 QStyleOptionSlider ,但不希望自己填充所有信息。
另请参阅 QStyleOption::initFrom ().
[override virtual]
QSize
QSlider::
minimumSizeHint
() const
重实现访问函数为特性: QWidget::minimumSizeHint .
[override virtual protected]
void
QSlider::
mouseMoveEvent
(
QMouseEvent
*
ev
)
重实现: QWidget::mouseMoveEvent (QMouseEvent *event).
[override virtual protected]
void
QSlider::
mousePressEvent
(
QMouseEvent
*
ev
)
重实现: QWidget::mousePressEvent (QMouseEvent *event).
[override virtual protected]
void
QSlider::
mouseReleaseEvent
(
QMouseEvent
*
ev
)
重实现: QWidget::mouseReleaseEvent (QMouseEvent *event).
[override virtual protected]
void
QSlider::
paintEvent
(
QPaintEvent
*
ev
)
重实现: QWidget::paintEvent (QPaintEvent *event).
[override virtual]
QSize
QSlider::
sizeHint
() const
重实现访问函数为特性: QWidget::sizeHint .