|
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 的当前值 |