一般,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