出于某种原因,在我的系统上(Windows XP 32位,Python 2.6)PyQt能够在python解释器中运行时完美地显示gif,但是当我通过py2exe运行时,它们不再显示。
我已经尝试了我用Google搜索过的所有内容:将GIF DLL从PyQt复制到imageformats /文件夹,设置qt.conf(作为另一个建议的stackoverflow线程),完成setLibraryPaths到imageformat DLL所在的位置,复制来自http://wiki.wxpython.org/py2exe-python26的设置文件。
似乎没有什么工作 - 我究竟能做错什么?
答案 0 :(得分:2)
我不确定你是怎么设法用py2exe编译PyQt的;我没有成功,转而pyinstaller Py2exe没有很好地与PyQt合作,并拒绝编译,具体取决于哪些小部件的特色。
我建议切换到pyinstaller来编译PyQt;在这种情况下看看它是否允许你想要的东西
答案 1 :(得分:0)
from distutils.core import setup
import py2exe
DATA=[('imageformats',['C:\\Python26/Lib/site-packages/PyQt4/plugins/imageformats/qjpeg4.dll',
'C:\\Python26/Lib/site-packages/PyQt4/plugins/imageformats/qgif4.dll',
'C:\\Python26/Lib/site-packages/PyQt4/plugins/imageformats/qico4.dll',
'C:\\Python26/Lib/site-packages/PyQt4/plugins/imageformats/qmng4.dll',
'C:\\Python26/Lib/site-packages/PyQt4/plugins/imageformats/qsvg4.dll',
'C:\\Python26/Lib/site-packages/PyQt4/plugins/imageformats/qtiff4.dll'
])]
setup(windows=[{"script":"your_python_script.py"}],
data_files = DATA,
options={"py2exe":{
"includes":["sip", "PyQt4.QtNetwork", "PyQt4.QtWebKit", "PyQt4.QtSvg" ],
"bundle_files":3,
"compressed":True,
"xref":True}},
zipfile=None)
答案 2 :(得分:0)
万一有人遇到这种情况,我找到了解决方案。这些是使用py2exe进行编译时需要执行的操作,以便显示图像文件:
对于dll文件,您需要在setup.py文件中设置它:
windows = [{
"script":"yourPythonScript.py",
"icon_resources": [(1, "nameOfIcoFile.ico")],
"dest_base":"nameOfExeFile"
}],
data_files = [
('imageformats',
[r'C:\Python27\Lib\site-packages\PyQt4\plugins\imageformats\qico4.dll',
r'C:\Python27\Lib\site-packages\PyQt4\plugins\imageformats\qgif4.dll'
])],
)