图像的QWidget

QWidget for Image

我正在尝试在 PyQt5 中创建一个简单的 QGridLayout 图像,但发现自己卡住了,因为 QGridLayout 仅具有通过 .addWidget() 和 [=14 添加小部件和布局的功能=].

下面是我的代码,它需要一个 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 我收到一个编译器错误。

我查看了其他处理图像的 QObjects,包括 QImageQPainter,但是因为这些 类 都是 QtGui 类型,所以我不能'不要将它们传递到我的网格中。

关于如何从图像生成 QWidget 或使用处理图像的特定 QWidget 有什么建议吗?

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