2015-07-08 2 views
0

У меня есть рабочий пример игры gif, но это не цикл GIF. Даже я изменил movie.setCacheMode (QMovie.CacheAll)PyQt QMovie не будет цикл GIF

Любая идея? enter image description here -> Анимированные Gif

from PyQt4 import QtCore, QtGui 
from PyQt4.QtGui import * 
from PyQt4.QtCore import * 

import sys 

class ImagePlayer(QWidget): 
    def __init__(self, filename, title, parent=None): 
     QWidget.__init__(self, parent) 

     # Load the file into a QMovie 
     self.movie = QMovie(filename, QByteArray(), self) 

     size = self.movie.scaledSize() 
     self.setGeometry(200, 200, size.width(), size.height()) 
     self.setWindowTitle(title) 

     self.movie_screen = QLabel() 
     # Make label fit the gif 
     self.movie_screen.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) 
     self.movie_screen.setAlignment(Qt.AlignCenter) 

     # Create the layout 
     main_layout = QVBoxLayout() 
     main_layout.addWidget(self.movie_screen) 

     self.setLayout(main_layout) 

     # Add the QMovie object to the label 
     self.movie.setCacheMode(QMovie.CacheAll) 
     self.movie.setSpeed(100) 
     self.movie_screen.setMovie(self.movie) 
     self.movie.start() 
     self.movie.loopCount() 


if __name__ == "__main__": 
    gif = "dotGreen.gif" 
    app = QApplication(sys.argv) 
    player = ImagePlayer(gif, "was") 
    player.show() 
    sys.exit(app.exec_()) 

ответ

1

На самом деле GIF был сохранен ранее с Option Повторение петли игры один раз. Так что сменив его на "Forever" сделал трюк.

Photoshop Gif export with Forever Option

Смежные вопросы