图像的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
,包括 QImage
和 QPainter
,但是因为这些 类 都是 QtGui
类型,所以我不能'不要将它们传递到我的网格中。
关于如何从图像生成 QWidget
或使用处理图像的特定 QWidget
有什么建议吗?
QLabel 是您需要的小部件。它可以显示一个QPixmap,而不仅仅是文本。
我正在尝试在 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
,包括 QImage
和 QPainter
,但是因为这些 类 都是 QtGui
类型,所以我不能'不要将它们传递到我的网格中。
关于如何从图像生成 QWidget
或使用处理图像的特定 QWidget
有什么建议吗?
QLabel 是您需要的小部件。它可以显示一个QPixmap,而不仅仅是文本。