qt - 在py2exe编译的Python脚本中为QImage启用JPEG支持?

标签 qt pyqt jpeg py2exe qimage

我正在尝试通过PyQt4在Python脚本的QImage对象中使用JPEG图像。

脚本本身可以完美运行,可以加载图像,并且可以进行操作和渲染。但是,当我尝试使用py2exe“编译”此脚本时,除JPEG图像外,其他所有东西都可以正常工作。用等效的PNG代替它是可行的,但是由于我的程序是从网络上下载图像的,因此它们并不总是采用PNG格式,因此我无法承受使用其他库进行全部转换的负担。

我发现\qt\plugins\imageformats目录(它们分别称为qjpeg4.dll和qjpeg4d.dll)中的某些DLL提供了对QImage以及其他图像格式的JPEG图像支持。我认为我需要在可执行文件中以某种方式使用它们,但是我不知道如何使用。我试过简单地将它们复制到我的exe目录,没有运气。我已经尝试将indicated here作为这些文件作为data_files包含在setup.py脚本中,但是没有运气(看起来它所做的只是将这些文件复制到exe的目录中,因此无论如何手动复制它们都不会改变) 。

我敢肯定,目前有少数使用PyQt和JPEG图像的应用程序,它们是如何做到的?这似乎是一项琐碎的任务,但我现在仍然坚持下去。

另外,我希望我的应用程序是跨平台的(为什么还要用Python编码?),我希望在为OS X或Linux进行打包时,不会遇到此类打包问题(这不是唯一的问题)。可以吗

最佳答案

经过数小时的讨论,我想分享在Windows Vista上对我有用的解决方案:
使用python2.6

将以下目录复制到py2exe生成的dist目录中:

C:\Python26\Lib\site-packages\PyQt4\plugins\imageformats

我只是将imageformats目录直接放到了dist目录中,而没有对qt.conf或类似的内容做任何进一步的修改。我没有尝试过,但这也可以用于声子。

关于qt - 在py2exe编译的Python脚本中为QImage启用JPEG支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/885906/

相关文章:

python - 主循环中的 PyQt 调试

python - 在 PyQt 中使用信号在类之间传递数据

delphi - 使用 Delphi 处理大图像并保存为 .jpeg

c++ - Windows Qt 二进制安装程序是否支持开箱即用的 DBus?

qt - Qt4 中的 BitBlt?

c++ - QGraphicsPixmapItem 不可选

Qt似乎不处理资源文件

python - 扩展 pyqt 或 QT 的图像查看器示例

png - PNG是否支持诸如作者,相机型号等元数据字段?

html - 如何显示 JPG 图像以便首先显示非常低的分辨率?