如何在 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 中的方法/属性