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

时间:2010-02-18 07:11:01

标签: python pyqt4

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

3 个答案:

答案 0 :(得分:17)

以下是一些代码,可以执行您和@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方法以显示图像。

答案 1 :(得分:13)

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

python中的一个实现示例是:

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

答案 2 :(得分:-1)

在GUI脚本中使用此代码段:

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