Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(三)qslider禁用鼠标点击跳转
转载请标明出处
上一篇文章Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(二)qslider鼠标点击跳转说到,QSlider的鼠标点击跳转精度不高,所以索性禁用掉鼠标跳转功能。这里就不用我们之前重写的MySlider类了,直接使用QSlider即可。
首先,将slider的pagestep设为0,即鼠标点击别的位置的时候,进度条不移动。但只这样做的话,就会出现,鼠标点击一个位置,滑块会往那个位置上移动一下,再回原位。怎么实现,鼠标点击别的位置,滑块不随着移动呢?
看到有一个博客写了相关代码,但是我没有看懂后面部分的实现,如果有看懂的朋友,麻烦评论告知,谢谢。QT 禁用QSlider点击跳转
这里介绍一下博主偶然发现的一个方法。
打开Qt的另一个例子工程Video Widget Example,发现该工程的进度条无法点击跳转,刚好符合我们的要求。
查看代码发现,相关的代码如下
(1)slider定义
(2)槽函数实现
对比 Mediaplayer videoplayer例子工程中的相关代码:
(1)slider定义
(2)槽函数实现
发现,Mediaplayer videoplayer工程中的时间好像是以豪秒为单位,即都乘或者除了1000,查看Mediaplayer videoplayer的别的代码,例如positionChanged和updateDurationInfo函数也会发现乘或者除了1000。于是尝试改为以秒为单位。结果就大功告成了,具体的原因博主不是很明白,如果有知道的朋友烦请告知。