将QProgressBar或QSlider连接到QMediaPlayer以获得歌曲进度

时间:2017-03-04 22:17:43

标签: qt python-3.x user-interface pyqt5 qmediaplayer

我想知道如何在PyQt5上获得QMediaPlayer模块的进度条/搜索器...所以在我的音乐播放器应用程序中,我可以有一个歌曲进度条。提前谢谢你

1 个答案:

答案 0 :(得分:1)

你的问题有点宽泛,总的来说这是你应该做的:

  • 创建QProgressBar
  • 创建您的QMediaPlayer
  • 收听QMediaPlayer模块的currentMediaChanged()信号;在你的处理程序中获取当前媒体的持续时间,除以1000以获得以秒为单位的长度,将其设置为QProgressBar的最大值;重置进度条。
  • 收听QMediaPlayer的positionChanged()信号;在处理程序中获取当前位置;再次除以1000并使用setValue设置QProgressBar中的值。

这应该会为您提供一个由QMediaPlayer自动更新的进度条。

您可能希望禁用进度条中的文本,因为百分比对于歌曲播放非常有用。不幸的是,在进度条中打印时间似乎并不容易。