Eti*_*rot 10 qt jpeg pyqt py2exe qimage
我正在尝试使用PyQt4在Python脚本的QImage对象中使用JPEG图像.
脚本本身运行良好,图像加载,可以操作和渲染,所有.但是,当我尝试用py2exe"编译"这个脚本时,一切都可以工作但JPEG图像.用PNG等效替换它可以工作,但由于我的程序从网上下载图像,它们不会一直是PNG格式,我不能用另一个库将它们全部转换.
我发现QImage的JPEG图像支持以及其他图像格式是由\ qt\plugins\imageformats目录中的一些DLL提供的(它们被称为qjpeg4.dll和qjpeg4d.dll).我想我需要在我的可执行文件中以某种方式使用它们,但我不知道如何.我试过简单地将它们复制到我的exe目录,没有运气.我已经尝试过,如此处所示,将这些文件作为data_files包含在setup.py脚本中,但没有运气(看起来它所做的就是将这些文件复制到exe的目录中,因此无论如何都不会因为手动复制它们而改变它们).
我确定有一些使用PyQt和JPEG图像的应用程序,他们是如何做到的?这似乎是一项微不足道的任务,但我现在仍然坚持下去.
另外,我希望我的应用程序是跨平台的(为什么我还要用Python编写代码?),我希望在打包OS X或Linux时我不会遇到这样的打包问题(它不是唯一的).我会吗?
小智 14
经过几个小时的绊倒同样的问题,我想在windows vista上分享对我有用的解决方案:使用python2.6
将以下目录复制到py2exe生成的dist目录中:
C:\Python26\Lib\site-packages\PyQt4\plugins\imageformats
Run Code Online (Sandbox Code Playgroud)
我只是将imageformats目录直接放到我的dist目录中,而没有对qt.conf或类似的任何进一步修改.我没试过,但这也适用于声子.