图像的QWidget
问题描述:
我想在PyQt5中创建一个简单的QGridLayout
图像,但发现自己被卡住了,因为QGridLayout
只具有通过.addWidget()
和.addLayout()
添加小部件和布局的功能。图像的QWidget
以下是我的代码,期望QWidget
但有问题,因为我似乎无法找到任何可以处理png/jpg文件的QWidgets
。
class myGrid(QWidget):
def __init__(self):
QObject.__init__(self)
# Create Layout
self.lay = QGridLayout()
self.setLayout(self.lay)
i1 = QIcon("imgs/img1.png")
i2 = QIcon("imgs/img2.png")
i3 = QIcon("imgs/img3.png")
i4 = QIcon("imgs/img4.png")
# Add Images to Layout
self.lay.addWidget(i1, 0, 0) # Error because type(i1) != QWidget
以上只是我想添加到我的布局中的第一张图片。唯一的问题是,因为QIcon
在技术上不是QWidget
,我收到一个编译器错误。
我看着那个处理图像,包括QImage
和QPainter
其他QObjects
但由于这些类都是QtGui
型我无法将它们传递到我的网格。
有关如何从图像中生成QWidget
或使用处理图像的特定QWidget
的任何建议?
答
QLabel是你需要的部件。它可以显示一个QPixmap,而不仅仅是文本。
小问题,我正在使用这些'QIcon's'放入'QListWidgetItem's'中。是否有'QWidget'比'QListWidget'更好的将图像列表添加到布局? – Max