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