1
я устанавливаю Initial файл фильма, как это:QMovie установки файла второй раз не будет работать
self.movie = QMovie("dotGreenBlack.gif", QByteArray(), self)
Во время выполнения, я хочу, чтобы изменить его настройки:
self.movie.setFileName("dotGreyStatic.gif")
Но это приводит к кадру -freeze файла с надписью «dotGreenBlack.gif»
Что-нибудь еще, что мне нужно сделать, чтобы изменить Gif-Animation во время выполнения?
Вот fullcode:
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()
self.movie.setFileName("dotGreyStatic.gif")
self.movie_screen.setMovie(self.movie)
if __name__ == "__main__":
gif = "dotGreenBlack.gif"
app = QApplication(sys.argv)
app.setStyleSheet("QWidget { background-color: black }")
player = ImagePlayer(gif, "was")
player.show()
sys.exit(app.exec_())
Gif Значки, используемые в этом примере:
Спасибо, что сработало для меня. это остановка начала нового размещения проигрывателя? – user1767754
@ пользователь1767754. Нет, я думаю, что это просто повторное использование существующего. – ekhumoro