【发布时间】:2016-06-13 22:14:27
【问题描述】:
我正在尝试在 PyQt5 中创建一个简单的 QGridLayout 图像,但发现自己卡住了,因为 QGridLayout 仅具有通过 .addWidget() 和 .addLayout() 添加小部件和布局的功能。
下面是我的代码,它需要 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,包括QImage 和QPainter,但因为这些类都是QtGui 类型,我无法将它们传递到我的网格中。
对于如何从图像生成QWidget 或使用处理图像的特定QWidget 有何建议?
【问题讨论】:
标签: qt qt5 qwidget pyqt5 qgridlayout