pyqt5 动态加载图片
时间: 2023-10-21 09:06:46 浏览: 141
在PyQt5中动态加载图片可以通过使用QLabel和QMovie类来实现。首先,创建一个继承自QWidget的窗口类,并初始化UI。在UI的初始化过程中,创建一个QLabel实例用于显示图片,并设置其对齐方式和固定大小。然后,创建一个QMovie实例并加载图片文件,设置缓存模式和缩放大小,并将QMovie实例设置为QLabel的动画。最后,调用QMovie的start()方法来播放动画。
代码示例:
```
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QMovie
from PyQt5.QtWidgets import QLabel, QWidget, QHBoxLayout
class AnimatedGIFWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.show()
def initUI(self):
"""初始化UI"""
self.layout = QHBoxLayout()
self.label = QLabel(self)
self.label.setAlignment(Qt.AlignCenter)
self.label.setFixedSize(220, 180)
self.layout.addWidget(self.label)
labelSize = self.label.size()
# 创建一个QMovie来加载动画图片
self.movie = QMovie('your_image.gif') # 请替换为你的图片路径
self.movie.setCacheMode(QMovie.CacheAll)
self.movie.setScaledSize(labelSize)
self.label.setMovie(self.movie)
self.showGif()
def showGif(self):
# 播放动画
self.movie.start()
if __name__ == '__main__':
app = QApplication(sys.argv)
A = AnimatedGIFWindow()
app.exec_()
```
阅读全文