如何在 PyQt4 中将图片添加到 QWidget

Posted

技术标签:

【中文标题】如何在 PyQt4 中将图片添加到 QWidget【英文标题】:How can I add a Picture to a QWidget in PyQt4 【发布时间】:2010-02-18 07:11:01 【问题描述】:

如何向QWidget 添加或导入图片?我找到了线索。 我可以添加Label 并在该标签中添加Picture。我需要论据 对于QPicture()。我可以使用的可能是QLabel.setPicture(self.QPicture)

【问题讨论】:

【参考方案1】:

这里有一些代码可以满足您和@erelender 的描述:

import os,sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
window.setGeometry(0, 0, 400, 200)

pic = QtGui.QLabel(window)
pic.setGeometry(10, 10, 400, 100)
#use full ABSOLUTE path to the image, not relative
pic.setPixmap(QtGui.QPixmap(os.getcwd() + "/logo.png"))

window.show()
sys.exit(app.exec_())

通用QWidget 没有setPixmap()。如果这种方法不适合您,您可以考虑制作自己的自定义小部件,该小部件源自 QWidget 并覆盖 paintEvent 方法以显示图像。

【讨论】:

这会将 QLabel 放在我拥有的所有小部件的顶部,如果调整大小,您将如何将它放在每个小部件的后面并始终适合窗口的宽度?【参考方案2】:

QPicture 不是你想要的。 QPicture 记录和重播QPainter 命令。你想要的是QPixmap。为QPixmap 构造函数指定一个文件名,并使用QLabel.setPixmap() 将此像素图设置为标签。

python 中的一个实现示例是:

label = QLabel() 
pixmap = QPixmap('path_to_your_image')
label.setPixmap(pixmap)

【讨论】:

【参考方案3】:

在你的 GUI 脚本中使用这个 sn-p:

image = QtGui.QLabel(self)
image.setGeometry(50, 40, 250, 250)
pixmap = QtGui.QPixmap("C:\\address\\to\\your_image.png")
image.setPixmap(pixmap)
image.show()

【讨论】:

以上是关于如何在 PyQt4 中将图片添加到 QWidget的主要内容,如果未能解决你的问题,请参考以下文章

从 QWidget (PyQt4) 调用 QMainWindow 中的方法/属性

如何在 PyQt4 中将 QImage 插入到 NxN 网格布局中?

PYTHON pyQT4 不规则图形界面

PyQt4程序图标

在 PyQt4 的新窗口中制作 qwidget

PyQt4 - QWidget 另存为图像