Приложение PyQt: GIF-файлы не отображаются после компиляции с py2exe - PullRequest
2 голосов
/ 31 января 2011

По какой-то причине в моей системе (32-битная Windows XP, Python 2.6) PyQt может отлично отображать gif-файлы при запуске в интерпретаторе python, но когда я запускаю его через py2exe, они больше не отображаются.

Я перепробовал все, что гуглил: скопировал DLL-файлы gif из PyQt в папку imageformats /, настроил qt.conf (как предложил другой поток в стеке), сделал setLibraryPaths туда, где были библиотеки форматов изображений, скопировалустановочный файл из http://wiki.wxpython.org/py2exe-python26.

Кажется, ничего не работает - что я могу сделать не так?

Ответы [ 3 ]

2 голосов
/ 22 декабря 2012

Я не уверен, как вам удалось скомпилировать PyQt с py2exe;У меня ничего не получилось, и я переключился на pyinstaller .
Py2exe плохо взаимодействовал с PyQt и отказывался компилировать в зависимости от того, какие виджеты были показаны.

Я бы рекомендовал перейти на pyinstallerдля компиляции PyQt;посмотрим, позволяет ли это то, что вы хотите в этом случае

0 голосов
/ 31 мая 2018

На всякий случай, если кто-то окажется в такой ситуации, я нашел решение. Это то, что вам нужно сделать при компиляции с py2exe, чтобы ваши файлы изображений отображались:

  • Все файлы изображений (gif, png, jpg) необходимо скопировать в папку dist
  • Файлы Qt dll необходимо скопировать из папки установки Qt в расстояние \ imageformats

Для 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'
                ])],
)
0 голосов
/ 05 июня 2013
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)
...