2014-11-30 2 views
1

Я прочитал много вопросов, большинство из которых не на этом сайте, и все они упоминают QMovie должно вызываться с именем файла, как этотнагрузка GIF в объект 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) 

Спасибо!

ответ

4

QMovie конструктор может принимать QIODevice в качестве первого аргумента, так что данные GIF могут быть загружены через QBuffer:

a = QtCore.QByteArray(data) 
b = QtCore.QBuffer(a) 
b.open(QtCore.QIODevice.ReadOnly) 
m = QtGui.QMovie(b, 'GIF') 
Смежные вопросы