从RAM新建QIcon对象 / Create a QIcon from binary data

时间:2023-11-26 15:47:20

一般,QIcon是通过png或ico等图标文件来初始化的,但是如果图标资源已经在内存里了,或者一个zip压缩文件内,可以通过QPixmap作为桥梁,转换为图标。

zf = zipfile.ZipFile("library.zip")     # 准备zip文件
pm = QtGui.QPixmap() # 构造一个空的QPixmap对象
pm.loadFromData(zf.read("media/sample.png"), "png") # 从zip文件读出png文件的数据,用loadFromData方法加载 self.setWindowIcon(QtGui.QIcon(pm)) # pixmap转换为QIcon
软件环境
Python2.7
PyQt GPL v4.10.3 for Python v2.7 (x32)
OS:Windows 8日文版