pyqt5 动态显示多张图片
时间: 2024-06-05 17:05:35 浏览: 176
在 PyQt5 中,可以使用 QLabel 和 QPixmap 类来动态显示多张图片。具体的实现步骤如下:
1. 创建一个 QWidget 对象作为主窗口。
2. 创建一个 QVBoxLayout 对象作为主窗口的布局管理器。
3. 创建多个 QLabel 对象,并将它们添加到 QVBoxLayout 中。
4. 使用 QPixmap 类加载图片,并将其设置为 QLabel 的内容。
5. 调用 QWidget 的 show() 方法,将窗口显示出来。
以下是示例代码:
```python
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
class ImageViewer(QWidget):
def __init__(self, images):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle('Image Viewer')
self.setGeometry(100, 100, 800, 600)
# 创建布局管理器
layout = QVBoxLayout()
# 创建多个 QLabel 对象,并将它们添加到布局管理器中
for image in images:
label = QLabel(self)
pixmap = QPixmap(image)
label.setPixmap(pixmap)
label.setAlignment(Qt.AlignCenter)
layout.addWidget(label)
# 设置布局管理器
self.setLayout(layout)
if __name__ == '__main__':
# 图片路径列表
images = ['image1.jpg', 'image2.jpg', 'image3.jpg']
# 创建应用程序对象
app = QApplication(sys.argv)
# 创建主窗口对象
viewer = ImageViewer(images)
# 显示主窗口
viewer.show()
# 运行应用程序
sys.exit(app.exec_())
```