图像的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,我收到一个编译器错误。

我看着那个处理图像,包括QImageQPainter其他QObjects但由于这些类都是QtGui型我无法将它们传递到我的网格。

有关如何从图像中生成QWidget或使用处理图像的特定QWidget的任何建议?

QLabel是你需要的部件。它可以显示一个QPixmap,而不仅仅是文本。

+0

小问题,我正在使用这些'QIcon's'放入'QListWidgetItem's'中。是否有'QWidget'比'QListWidget'更好的将图像列表添加到布局? – Max