QMovie意外参数QBuffer

我认为QMovie可以采用QBuffer吗?这是我的代码。


a = QByteArray(img)

b = QBuffer(a)

self.movie = QMovie(b, 'GIF')


慕少森
浏览 287回答 1
1回答

拉丁的传说

您要使用第二个构造函数:QMovie :: QMovie(QIODevice *设备,const QByteArray&format = QByteArray(),QObject * parent = nullptr)如您所见,第二个参数是一个QByteArray可以用字节替换的参数,因此在下一部分中,我向您展示一个示例:import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsif __name__ == '__main__':    app = QtWidgets.QApplication(sys.argv)    # load data from    path = "congratulations.gif"    file = QtCore.QFile(path)    if not file.open(QtCore.QIODevice.ReadOnly):        sys.exit(-1)    ba = file.readAll()    buf = QtCore.QBuffer(ba)    if not buf.open(QtCore.QIODevice.ReadOnly):        sys.exit(-1)    movie = QtGui.QMovie(buf, b"gif")    w = QtWidgets.QLabel()    w.setMovie(movie)    movie.start()    w.show()    sys.exit(app.exec_())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python