Я установил значок для своего приложения PyQt с помощью self.setWindowIcon(QtGui.QIcon('icon.png'))
, и он отлично работает, когда я запускаю свой код в PyCharm.
Затем я преобразовал свое приложение в один файл с PyInstaller:
pyinstaller.exe --onefile --windowed opc.py --name myapps
Однако при запуске исполняемого файла значок не отображается. Что я делаю неправильно?
В левом коде сайта из PyCharm, на правом сайте из одного файла (pyinstaller.exe --onefile --windowed opc.py --name myapps). Почему не то же самое? Я хочу значок *.png, потому что прозрачен.
Значок, отображаемый при запуске исполняемого файла в Windows, принадлежит самому исполняемому файлу. Чтобы связать значок с вашим приложением, вам нужно указать значок при создании с помощью pyinstaller.exe
, передав параметр --icon
. Например:
pyinstaller.exe --onefile --windowed --name myapps --icon=icon.ico opc.py
Обратите внимание, что в отличие от setWindowIcon()
файл значка должен быть в формате .ico
, поэтому вам нужно будет сначала преобразовать его из .png
.
Если вы хотите использовать вызов PyQt для установки значка, вам нужно будет связать файл значка с исполняемым файлом, что можно сделать с помощью PyInstaller spec file. Пошаговое руководство по созданию и изменению файла спецификации находится в этом предыдущем ответе.
.png
файл.png
в исполняемый файл, чтобы добиться того, чего вы хотите. Связанный ответ должен помочь.