0

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

下面是我的代码,它需要一个QWidget但有问题,因为我似乎找不到任何QWidgets可以处理 png/jpg 文件的代码。

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句柄图像的任何建议?

4

1 回答 1

5

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

于 2016-06-13T22:26:40.200 回答