欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 解决重写QSilder::sliderPress后点击位置与滑块显示位置不一样的问题

解决重写QSilder::sliderPress后点击位置与滑块显示位置不一样的问题

2024/11/30 12:45:58 来源:https://blog.csdn.net/m0_74091159/article/details/142769690  浏览:    关键词:解决重写QSilder::sliderPress后点击位置与滑块显示位置不一样的问题

 如下代码所示,我是用的是事件过滤器,也可以重写QSlider。

bool KuGouApp::eventFilter(QObject *watched, QEvent *event) {if(watched == ui->progressSlider) {if (event->type()==QEvent::MouseButtonPress)           //判断类型{auto mouseEvent = dynamic_cast<QMouseEvent *>(event);if (mouseEvent->button() == Qt::LeftButton) //判断左键{int value = QStyle::sliderValueFromPosition(ui->progressSlider->minimum(),ui->progressSlider->maximum(), mouseEvent->pos().x(),ui->progressSlider->width());qDebug()<<"value : "<<value;ui->progressSlider->setValue(value);}}}return MainWindow::eventFilter(watched, event);
}

在我点击QSlider的时候我发现有时候重复点击同一个位置可以让滑块移动到两个不同的位置如下:

QSlider问题

 这就很离谱好吧。。。找了半天代码是没有任何问题的,那么只能是ui文件里面了,

 把pageStep改为0就没有问题了,捂脸。。。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com