pyqt 多图片显示
时间: 2023-08-21 14:03:39 浏览: 200
如果您想要一次显示多张图片,您可以使用QGridLayout或QHBoxLayout/QVBoxLayout来创建一个网格布局或水平/垂直布局。以下是一个使用QGridLayout的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QLabel
from PyQt5.QtGui import QPixmap
class MultiImageDisplay(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建 QGridLayout
grid = QGridLayout()
self.setLayout(grid)
# 添加 QLabel 和 QPixmap
for i in range(1, 10):
label = QLabel(self)
pixmap = QPixmap(f'img/{i}.jpg')
label.setPixmap(pixmap)
grid.addWidget(label, (i-1)//3, (i-1)%3)
# 设置窗口大小和标题
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Multiple Image Display')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MultiImageDisplay()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个继承自QWidget的MultiImageDisplay类,其中包含一个QGridLayout来显示多张图片。我们使用QLabel和QPixmap来显示每个图片,然后使用addWidget方法将QLabel添加到QGridLayout的正确位置。在这里,我们使用了一个3x3的网格布局,所以我们可以显示9张图片。如果您需要显示更多图片,您可以增加网格布局的行和列。
请注意,此示例假定您的图片文件位于名为img的文件夹中,并且文件名为1.jpg,2.jpg,3.jpg等等。您可以根据需要更改这些设置。
阅读全文