py2exe 打包 pyqt程序的图片不显示的问题

来源:互联网 发布:变声软件手机版 编辑:程序博客网 时间:2024/05/17 13:43

前面部分是从别的博客上看到的,直接贴出来了

【python里 用 setWindowIcon设置了ico 文件 直接执行是有图标的 但用py2exe打包后 图标显示不出来

最终还是google到了答案 py2exe打包的时候漏了 qt的imageformat类库 把PYQT4安装目录下的 plugins下的 imageformats文件夹 复制到 打包后的 dist目录下 (和程序同级)即可】
 
下面是个人试用后的追加内容:
本人一开始使用上面的方法时没有成功,后来查看了一下,终于找到了原因了,本人一开始失败的py2exe代码如下:
 
# -*- coding: cp936 -*-from distutils.core import setupimport globimport py2exe  setup(version = "1.0",description = "ff",name = "unknow",zipfile=None,      windows=[{"script": "G:/QtUiFile/myOpenFile2.py",                "icon_resources":[(1,"D:/test.ico")]                }],      options={          "py2exe":{"dll_excludes":["MSVCP90.dll"],                    "includes":["sip"],                    "bundle_files":1                    }          },      includes = ["ini.py"],      data_files=[("bitmaps",glob.glob("d:/*.gif"))]      )

症结在bundle_files参数,此参数指明将原来的dll、pyc等文件都打包到一个exe文件中,这样在使用以上提到的方法就不起作用了,所以我修改了代码后如下:
# -*- coding: cp936 -*-from distutils.core import setupimport globimport py2exe  setup(version = "1.0",description = "ff",name = "unknow",zipfile=None,      windows=[{"script": "G:/QtUiFile/myOpenFile2.py",                "icon_resources":[(1,"D:/test.ico")]                }],      options={          "py2exe":{"dll_excludes":["MSVCP90.dll"],                    "includes":["sip"]#,                    #"bundle_files":1                    }          },      includes = ["ini.py"],      data_files=[("bitmaps",glob.glob("d:/*.gif"))]      )

也就是讲后面的bundle_files参数注释掉了,然后再使用以上提到的方法就可以了,对于pyQt编译时需要的其它的库的包含方法可以参考以上方式,其需要的绝大部分库文件都在pyqt安装包下面的plugins文件夹下,包括以上提到的imageformats文件夹

原创粉丝点击