在 PyQt 上显示嵌入图像?

Pea*_*ser 1 python user-interface image pyqt

假设我的脚本中有图像的 base-64 代码,如下所示:

EmbeddedCode = """INSERTCODEHERE.....
.....EXAMPLEEXAMPLE"""
Run Code Online (Sandbox Code Playgroud)

如果我能像这样解码它:

EmbeddedCode.decode('base64')
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能像这样在 PyQt4 gui 中显示它呢?:

pic = QtGui.QLabel(self)
pic.setGeometry(0, 0, 512, 512)
pic.setPixmap(QtGui.QPixmap(IMAGE PATH GOES HERE))
Run Code Online (Sandbox Code Playgroud)

open('image.jpg','w')如果要求不高的话,最好不必使用。

注意:我使用嵌入图像,因为我真的不想有“资源”文件夹。我要处理的垃圾越少越好。

mgu*_*arr 5

使用QPixmap的loadFromData方法:

from PyQt4 import Qt,QtGui,QtCore
import base64

# "b64_data" is a variable containing your base64 encoded jpeg

app = QtGui.QApplication([])
w = QtGui.QWidget()
pic = QtGui.QLabel(w)
pm = QtGui.QPixmap()
pm.loadFromData(base64.b64decode(b64_data))
pic.setPixmap(pm)

w.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)