python-将gif从数据加载到QMovie对象中(无文件)

我已经阅读了许多问题,其中大多数不在本网站上,并且他们都提到必须使用文件名来调用QMovie,例如:

anim = QtGui.QMovie("Filename.gif")

#or

self.movie = QMovie(filename, QByteArray(), self) #self is implied a class/super

但是我想知道是否有任何方法可以直接从数据中加载它,类似于QPixMap:

Img = QtGui.QPixMap()
Img.loadFromData("\x00\x5f\xaa\x3a... ...\xff")

#or
data = open("file.gif", "rb").read() #So you get what I mean
Img.loadFromData(data)

谢谢!

解决方法:

QMovie构造函数可以将QIODevice作为第一个参数,因此可以通过QBuffer加载gif数据:

a = QtCore.QByteArray(data)
b = QtCore.QBuffer(a)
b.open(QtCore.QIODevice.ReadOnly)
m = QtGui.QMovie(b, 'GIF')
上一篇:python-PyQt-QTableView不响应dataChanged信号?


下一篇:可以更改QTableWidget行标签的颜色吗?