我试图在QGridLayout中创建一个简单的PyQt5图像,但是我发现自己陷入了困境,因为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有什么建议吗?
发布于 2016-06-13 22:26:40
QLabel是您需要的小部件。它可以显示一个QPixmap,而不仅仅是文本。
https://stackoverflow.com/questions/37799993
复制相似问题