PyQt4 - 无法让视频与 QMovie 或 Phonon 一起运行



我遇到问题,让任何视频播放器都可以使用我的pyqt4设置(同时尝试了声子和Qmovie(。以下QMovie脚本来自一个示例,其中一些用户将其评为功能。对我来说,它运行,但仅打开一个从未真正播放.gif的窗口(以Loading...为中心((我尝试过从在线众多示例中尝试过几个工作的.gif文件,因此该文件不是问题(。我还评论了运行三个调试步骤的结果。

接下来我该怎么办?

import sys
import os
import sip
sip.setapi('QVariant', 2)
from PyQt4 import QtGui, QtCore
class BusyLabel(QtGui.QWidget):
    def __init__(self, gif, parent = None, text = None):
        QtGui.QWidget.__init__(self, parent)
        self.hlayout = QtGui.QHBoxLayout(self)
        self.hlayout.setSpacing(0)
        self.hlayout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(self.hlayout)
        # Movie
        self.movieLabel = QtGui.QLabel(self)
        self.movieLabel.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        self.movieLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.movie = QtGui.QMovie(gif, QtCore.QByteArray(), self)
        self.movie.setScaledSize(QtCore.QSize(20,20))
        self.movie.setCacheMode(QtGui.QMovie.CacheAll)
        self.movie.setSpeed(100)
        print self.movie.isValid() #output = False
        print self.movie.supportedFormats() #output = []
        self.movieLabel.setMovie(self.movie)
        self.hlayout.addWidget(self.movieLabel)
        # Label
        self.label = QtGui.QLabel(text)
        self.hlayout.addWidget(self.label)
        self.movie.start()
    def setText(self, text):
        self.label.setText(text)
    def start(self):
        self.show()
        self.movie.start()
    def stop(self):
        self.hide()
        self.movie.stop()
if __name__ == "__main__":
    gif = 'test1.gif'
    print os.path.exists(gif) #output = True
    app = QtGui.QApplication(sys.argv)
    player = BusyLabel(gif)
    player.setText('Loading...')
    player.start()
    player.show()
    sys.exit(app.exec_())

output: True False []

(对于那些对我的其他尝试感到好奇的人,运行一个流行的声子脚本给出了错误:phonon backend plugin could not be loaded ...我在这一点上都会做任何事情(

我在这里提供完整的工作代码,我为回答这个问题(我的(问题。您只需要PyQt4Matplotlib,我希望这可以帮助其他人面临类似麻烦的人:

https://github.com/evanseitz/pyqt4_videoplayer

相关内容

  • 没有找到相关文章

最新更新