QWidget для изображения

Я пытаюсь создать простой 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 которые обрабатывают изображения, в том числе QImage а также QPainter а потому что эти классы все типа QtGui Я не могу передать их в мою сетку.

Любые предложения о том, как произвести QWidget из изображения или с помощью определенного QWidget изображения этой ручки?

1 ответ

Решение

QLabel - это виджет, который вам нужен. Он может отображать QPixmap, а не только текст.

Другие вопросы по тегам