如何向QWidget
添加或导入图片?我发现了一个线索。我可以添加一个Label
并在该标签中添加一个Picture
。我需要QPicture()
的参数。可能可以使用的是QLabel.setPicture(self.QPicture)
。
这里是一些代码,它可以完成你和@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
方法来显示图像。
QPicture
不是你想要的。它记录并重放QPainter
命令。你需要的是QPixmap
。给QPixmap
构造函数传递一个文件名,并使用QLabel.setPixmap()
将此像素图设置到标签中。
在Python中的实现示例如下:
label = QLabel()
pixmap = QPixmap('path_to_your_image')
label.setPixmap(pixmap)
image = QtGui.QLabel(self)
image.setGeometry(50, 40, 250, 250)
pixmap = QtGui.QPixmap("C:\\address\\to\\your_image.png")
image.setPixmap(pixmap)
image.show()