【发布时间】:2018-07-24 18:36:52
【问题描述】:
我正在尝试在其他代码执行时显示加载 gif。我对 PyQt 非常不熟悉,并尝试按照 this 链接上的代码进行操作,这似乎是执行 gif 的标准方式。我只想要 gif 播放而不想要按钮。这是我目前使用的代码,但它很差。
self.movie = QMovie(coffeeloading.gif, self)
size = self.movie.scaledSize()
self.movie_screen.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.movie_screen.setAlignment(Qt.AlignCenter)
self.movie_screen = QLabel()
main_layout = QVBoxLayout()
main_layout.addWidget(self.movie_screen)
self.setLayout(main_layout)
self.movie.setCacheMode(QMovie.CacheAll)
self.movie.setSpeed(100)
self.movie_screen.setMovie(self.movie)
self.movie.start()
这应该在按下按钮并填满 240x320 的整个屏幕后执行,但我不知道该怎么做。我已经阅读了许多其他 stackoverflow 和其他链接,但似乎都没有解决如何完成此操作。
【问题讨论】:
-
有什么问题?博客代码做你想做的事。
-
运行此代码时,我得到未定义的咖啡加载,这是我的 gif,当我在引号中给出完整目录时,我收到此错误:TypeError:参数与任何重载调用不匹配:QMovie(父:QObject = None):参数 1 具有意外类型 'str' QMovie(QIODevice,格式:QByteArray = QByteArray(),父:QObject = None):参数 1 具有意外类型 'str' QMovie(object,格式:QByteArray = QByteArray(), parent: QObject = None): 参数 2 具有意外类型'MainWindow'