Как включить иконки в приложение при использовании Pyinstaller 2.0, Привязок PySide 1.1.2 и Qt 4.8
Как выглядит скрипт

Как должно выглядеть рабочее приложение

Перед публикацией я посмотрел на следующий вопрос и попытался использовать его в качестве руководства, чтобы заставить мой скрипт работать должным образом, но он был маргинальным
PyInstaller не будет загружать образы PyQt в графический интерфейс
Лучшее, что он сделал, это включил мои иконки в результирующую директорию следующим образом
(значки включены изображение здесь)
И следующий
У меня нет я даже не знаю, что он говорит, но я чувствую, что это может решить мою проблему, если бы я знал.
что это было на самом деле делаешь,
связывание файлов данных с PyInstaller (--onefile)
У меня есть rtfm, и большая его часть, к сожалению, идет выше моей головы. Следующий раздел
что, я думаю, относится к моему вопросу
Http://www.pyinstaller.org/wiki/Recipe/CollectDatafiles
Я понятия не имею, как на самом деле имплементировать его в мой файл спецификации
То же самое относится и к следующий
http://www.pyinstaller.org/export/v2.0/project/doc/Manual.html?format=raw#accessing-data-files

Я сделал следующее и его вариации, включая использование параметра-F
Я переделал свое главное окно.ui-файл с использованием pyside-uic.exe, чтобы преобразовать его в mainGui.py файл
Затем преобразуются значки.разводка в icons_rc.py
используя pyside-rcc.exe, чтобы сделать преобразование
(Примечание: я преобразовал файл после размещения копии exe изначально в папке PySide
в мою C:Python27Scripts папка, которая находится в моем пути, так что я могу вызвать его из любого места)
Я храню свои иконки в папке icons
Чтобы сделать исполняемый файл в моей консоли с помощью Pyinstaller, я использовал следующую команду
чтобы сделать мой файл спецификации
C:Pyinstaller-2.0 > питон utilsMakespec.py --windowed -- name= "16TangoTest" C:Exmake16MainWindowVideo.py
Как только файл спецификации Сделан, я вырезаю его из папки pyinstaller и добавляю оно
в мою папку Exmake
Затем я изменяю его, чтобы включить мою папку icons, используя
Дерево(C:Exmakeicons),
и приложите его, чтобы собрать
в строке выше a. двоичные файлы
Руководство и первый ответ выше указывают на то, что я должен изменить свой файл спецификации так, чтобы pyinstaller видел / находил мои значки, как я сделал на картинке ниже

Все, что он сделал, это включил мои иконки в каталог dist
с приложением все еще не отображая их как на 1-ой картинке выше
Затем я создаю исполняемый файл, запустив в консоли следующее
C:Pyinstaller-2.0 > питон pyinstaller.py C:Exmake16TangoTest.спекуляция
и это делает папку, которую вы видите на первой картинке, иконки включены, но
папка, но не приложение, когда оно запускается
2 ответов:
ОК, окончательный ответ, оказывается, что Qt нужен следующий файл qico4.dll может отличаться для Qt5, при создании вашего GUI в QtDesigner он автоматически загружает все необходимые плагины, включая вышеупомянутый плагин изображения, однако при преобразовании файла в скрипт python он не включает его, если вы не добавите следующий код в свой скрипт
#:Loads the qico plug-in lets you use .ico icons QPlugin = QPluginLoader("qico4.dll")Приведенный ниже текст может помочь другим в различных ситуациях
Это частичный ответ на мой собственный вопрос, который я хотел бы чтобы поблагодарить Blender выше, короткий ответ заключается в том, что вы должны конвертировать ваши иконки из .Ико на .png файлы, проблема в том, что вы должны сделать весь процесс создания вашего приложения снова, это шаги, которые я предпринял Сначала я зашел в папку, где у меня были мои иконки, и преобразовал их в foom .Ико на .png иконки, я использовал инструмент, который я получил здесь http://www.towofu.net/soft/e-aicon.php я нашел это на этом сайте..Я люблю stackoverflow..кхм
Как только ваши иконки будут преобразованы в .формат png вы должны изменить свой .файл qrc, в котором у вас есть информация о значках и обновляется новая информация о значках, я советую сделать это с нуля; как только у вас появятся новые значки.затем вы открываете файл qrc .ui-файл в QtDesinger и удалите из него все экземпляры ваших старых значков, а затем продолжите обновлять их новыми отформатированными значками, используя файл icon / resource.
После того, как все ваши иконки были обновлены, сохранить его и продолжить преобразование рабочего процесса, я.е конвертируйте ваш ' your_file.ИП' в 'newly_converted_file.py используя pyside-UIC / МСЖД.exe конвертер.
Далее преобразуйте ваши ' иконки.файл qrc " в " icons_rc.py используя pyside-РСС.команда exe
В конце этого процесса вам понадобится только папка icons с вашим .png иконки твой icons_rc.py файл и сценарий вашего приложения.
После этого вы можете продолжать использовать Pyinstaller-2.0 в соответствии с инструкцией..
Как я уже сказал, это частичный ответ, потому что он работает., однако, если бы кто-то другой мог сказать мне или объяснить, как заставить его работать с моим оригиналом .ICO файлы, то я подозреваю, что мне не придется проходить через весь процесс сноваПри дальнейших исследованиях эта страница была особенно полезна http://qt-project.org/forums/viewthread/17342
Поэтому я залез в свою папку Qt4. 8 и начал искать qico4.dll и сделал его копию в папке, где находится мой скрипт и приложение работает отлично, если я смогу найти способ включить его внутри моего скрипта, то я думаю, что у меня будет полный ответ, проблема, кажется, с Qt, а не Pyinstaller, кажется, что он должен быть осведомлен о dll для того, чтобы обрабатывать .ICO файлы
Я столкнулся с той же проблемой, что и вы. Все значки, казалось бы, отсутствовали, когда после pyinstaller создал мой исполняемый файл (pyinstaller версии 2.1 и PySide 1.2.1). Однако один из них .был показан png.
Поэтому можно было бы использовать обходной путь .png вместо .ico для вас иконки в PySide, и он будет работать с обеих сторон (python и исполняемый файл).
В качестве примера:
QPushButton(QIcon("./icons/clear.png"),' &Clear',self.app_wgt)
Comments