2011-01-31 58 views
2

由於我的系統(Windows XP 32位,Python 2.6)的某些原因,PyQt能夠在python解釋器中運行時完美顯示gif,但是當我運行它通過py2exe,它們不再顯示。PyQt應用程序:與py2exe編譯後不顯示gif文件

我已經嘗試了所有我已經使用的方法:將GIF DLL從PyQt複製到imageformats /文件夾,設置qt.conf(作爲另一個stackoverflow線程建議),完成setLibraryPaths到圖像格式DLL的位置,從http://wiki.wxpython.org/py2exe-python26複製安裝文件。

似乎沒有任何工作 - 我究竟會做錯什麼?

+0

gif(s)(s)轉換爲png(s),並在您的應用程序中使用pngs而不是gifs。我面臨同樣的問題,但無法探索問題的原因。用png代替我解決了這個問題。 HTH。 – sateesh 2011-01-31 09:34:14

+1

你可能想看看這個試圖解決jpegs問題的現有問題:http://stackoverflow.com/questions/885906/enabling-jpeg-support-for-qimage-in-py2exe-compiled-python-scripts – xioxox 2011-02-03 12:25:54

回答

2

我不知道你是如何設法用py2exe編譯PyQt的;我沒有成功,並切換到pyinstaller
Py2exe並沒有很好地配合PyQt,並且根據哪些小部件的特色而拒絕編譯。

我建議切換到pyinstaller編譯PyQt;看看它是否允許在這種情況下你想要的東西

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)