DtkWidget
DTK Widget module
|
DSlider一个聚合 QSlider 的滑块,DSlider提供了在滑块两侧设置图标函数,且设置的滑块更加美观 更多...
Public 类型 | |
enum | SliderIcons { LeftIcon , RightIcon } |
信号 | |
void | valueChanged (int value) |
信号会在 slider 的 value 值改变时被发送 | |
void | sliderPressed () |
void | sliderMoved (int position) |
信号会在 slider 拖动时被发送 | |
void | sliderReleased () |
信号会在 slider 被松开时被发送 | |
void | rangeChanged (int min, int max) |
信号会在 range 属性的值改变时被发送 | |
void | actionTriggered (int action) |
信号会在 action 被触发时被发送 | |
void | iconClicked (SliderIcons icon, bool checked) |
信号会在左右 iconbutton 被点击时被发送 | |
Public 成员函数 | |
DSlider (Qt::Orientation orientation=Qt::Horizontal, QWidget *parent=nullptr) | |
Qt::Orientation | orientation () const |
滑块方向 | |
QSlider * | slider () |
返回 QSlider 对象,若 DSlider 不满足输入框的使用需求,请用此函数抛出的对象。 | |
void | setLeftIcon (const QIcon &left) |
设置滑块左侧图标. | |
void | setRightIcon (const QIcon &right) |
设置滑块右图标. | |
void | setIconSize (const QSize &size) |
设置滑块图标大小. | |
void | setMinimum (int min) |
设置滑动范围的最小值. | |
int | minimum () const |
滑动范围的最小值. | |
void | setValue (int value) |
设置滑块当前值 | |
int | value () const |
DSlider::value | |
void | setPageStep (int pageStep) |
设置页面单步的大小, 使用按键 PageUp 或者 PageDown 时,滑块滑动的单步大小。 | |
int | pageStep () const |
返回页面单步大小 | |
void | setMaximum (int max) |
设置滑动范围的最大值 | |
int | maximum () const |
返回滑动范围的最大值 | |
void | setLeftTicks (const QStringList &info) |
设置滑块左侧的刻度值. | |
void | setRightTicks (const QStringList &info) |
设置滑块右侧的刻度值. | |
void | setAboveTicks (const QStringList &info) |
void | setBelowTicks (const QStringList &info) |
设置滑块下方的刻度值 | |
void | setMarkPositions (QList< int > list) |
设置显示双边的刻度线(不显示刻度值). | |
void | setMouseWheelEnabled (bool enabled) |
设置鼠标滚轮是否开启. | |
void | setTipValue (const QString &value) |
用于创建气泡,气泡将跟随滑块移动. | |
QSlider::TickPosition | tickPosition () const |
返回滑块的记号位置. 获取滑块刻度当前朝向。 | |
QSize | sizeHint () const override |
滑动条的大小策略. | |
void | setHandleVisible (bool b) |
设置滑块是否显示. | |
bool | handleVisible () const |
获取滑块是否显示的状态. | |
void | setEnabledAcrossStyle (bool enabled) |
该函数用于设置滑槽是否禁用活动色填充已经滑过的滑槽. | |
Protected 成员函数 | |
DSlider (DSliderPrivate &q, QWidget *parent) | |
bool | event (QEvent *event) override |
bool | eventFilter (QObject *watched, QEvent *event) override |
事件过滤器函数 @reimp 此函数目前仅处理了鼠标滚轮事件 | |
DSlider一个聚合 QSlider 的滑块,DSlider提供了在滑块两侧设置图标函数,且设置的滑块更加美观
DSlider一个聚合 QSlider 的滑块
通过使用 DSlider 实现一个简单需求,有一个按钮,需要通过一个DSlider滑块改变按钮的位置,滑块左滑按钮左移,滑块右滑按钮右移
程序运行效果如下:
DSlider提供了在滑块两侧设置图标函数, DSlider提供了滑块的刻度及刻度标识
|
overrideprotected |
事件过滤器函数 @reimp 此函数目前仅处理了鼠标滚轮事件
[in] | watched | 被监听的子控件 |
[in] | e | 对应的事件指针 |
bool DSlider::handleVisible | ( | ) | const |
获取滑块是否显示的状态.
|
signal |
信号会在左右 iconbutton 被点击时被发送
[in] | icon | 表示按钮被点击的位置 |
[in] | checked | 表示按钮是否被选中 |
DSlider的构造函数
[in] | orientation | 滑块方向 |
[in] | parent | 参数被发送到 QWidget 构造函数 |
int DSlider::maximum | ( | ) | const |
返回滑动范围的最大值
int DSlider::minimum | ( | ) | const |
Qt::Orientation DSlider::orientation | ( | ) | const |
滑块方向
int DSlider::pageStep | ( | ) | const |
|
signal |
信号会在 range 属性的值改变时被发送
[in] | min | 为 range 的最小值 |
[in] | max | 为 range 的最大值 |
void DSlider::setBelowTicks | ( | const QStringList & | info | ) |
void DSlider::setEnabledAcrossStyle | ( | bool | enabled | ) |
void DSlider::setHandleVisible | ( | bool | b | ) |
设置滑块是否显示.
[in] | b | 为 true 时滑块显示,否则滑块隐藏, 默认地, 滑块为显示状态 |
void DSlider::setIconSize | ( | const QSize & | size | ) |
设置滑块图标大小.
[in] | size | 图标大小 |
void DSlider::setLeftIcon | ( | const QIcon & | left | ) |
设置滑块左侧图标.
[in] | left | 左图标 |
void DSlider::setLeftTicks | ( | const QStringList & | info | ) |
设置滑块左侧的刻度值.
根据 QStringList 数量,绘制刻度的个数,绘制刻度标识:滑块为水平,刻度在滑块上方;滑块为垂直,刻度在滑块左侧。
[in] | info | 刻度标识 |
void DSlider::setMarkPositions | ( | QList< int > | list | ) |
设置显示双边的刻度线(不显示刻度值).
举例用途:比如调节音量的 DSlider ,需要在 value = 100 的地方标记一个刻度,而不需要显示其他的刻度值(并且实际音量值是可以超过 100 的) 其他:设置指定数值的刻度线(setMarkPositions)和设置刻度线+刻度值(setBelowTicks)是两个相互独立的,且互不干扰,若是同时使用,也会同时绘画各自的线; 另外两个的先后顺序也并没有关系.
[in] | list | 双边刻度线的值. |
void DSlider::setMaximum | ( | int | max | ) |
void DSlider::setMinimum | ( | int | min | ) |
void DSlider::setMouseWheelEnabled | ( | bool | enabled | ) |
设置鼠标滚轮是否开启.
开启鼠标滚轮后,用户可以通过鼠标滚轮来控制滑块的滑动。
[in] | enabled | 是否开启鼠标滚轮 |
void DSlider::setPageStep | ( | int | pageStep | ) |
设置页面单步的大小, 使用按键 PageUp 或者 PageDown 时,滑块滑动的单步大小。
[in] | pageStep | 单步大小. |
void DSlider::setRightIcon | ( | const QIcon & | right | ) |
设置滑块右图标.
[in] | right | 右图标 |
void DSlider::setRightTicks | ( | const QStringList & | info | ) |
设置滑块右侧的刻度值.
根据 QStringList 数量,绘制刻度的个数,绘制刻度标识:滑块为水平,刻度在滑块下方;滑块为垂直,刻度在滑块右侧。
[in] | info | 刻度标识 |
设置滑块上方的刻度值
[in] | info | 刻度标识. |
void DSlider::setTipValue | ( | const QString & | value | ) |
用于创建气泡,气泡将跟随滑块移动.
[in] | value | 非空开启气泡,空关闭气泡(销毁) |
void DSlider::setValue | ( | int | value | ) |
设置滑块当前值
[in] | value | 滑块的当前值。 |
|
override |
滑动条的大小策略.
这个函数会返回该滑动条推荐的大小,如果滑动条没有布局,这个大小将会是一个无效值,如果存在布局,将返回该布局下的推荐大小。
QSlider * DSlider::slider | ( | ) |
返回 QSlider 对象,若 DSlider 不满足输入框的使用需求,请用此函数抛出的对象。
|
signal |
信号会在 slider 拖动时被发送
[in] | position | 为 slider 被拖动的指针的位置 |
QSlider::TickPosition DSlider::tickPosition | ( | ) | const |
返回滑块的记号位置. 获取滑块刻度当前朝向。
int DSlider::value | ( | ) | const |
|
signal |
信号会在 slider 的 value 值改变时被发送
[in] | value | slider 的当前值 |