QT QSlider实现进度条滑块移动到鼠标点击位置(2种方法)

145 篇文章 665 订阅 ¥9.90 ¥99.00
QT QSlider默认在鼠标点击时不直接移动到点击位置,可通过设置PageStep和SingleStep调整步进值。启用跟踪功能能控制valueChanged()信号的触发时机。实现滑块移动到点击位置的方法包括子类化QSlider并重写mousePressEvent,或在主窗口的eventFilter中处理点击事件。同时,可以自定义进度条的样式表。
摘要由CSDN通过智能技术生成

1、默认情况下,当鼠标点击进度条时,滑块并不会直接移动到我们鼠标所点击的位置,而是按照PageStep向前或者向后移动。

其实进度条的步进值分为两种:

(1)、鼠标点击时的步进值叫PageStep,设置步进值的函数是:

void setPageStep(int)

(2)、键盘方向键控制进度条时的步进值,设置步进值的函数是:

void setSingleStep(int)

此外滑动条还有一个比较重要的函数叫做设置跟踪函数:

void setTracking(bool enable)

如果我们启用跟踪,当我们拖动滑块时,整个过程都会发出valueChanged()信号;如果关闭跟踪,只有当我们释放滑块时才发出valueChanged()信号。

2、滑块移动到点击位置的两种方法:

(1)、子类化QSlider,并对进度条控件进行提升,在子类里面重写mousePressEvent方法:

void zzcSlider::mousePressEvent(QMouseEvent *ev)
{
    //获取当前点击位置并得到相对于当前QSlider的坐标
    int cu
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米的修行之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值