2016-05-19 20 views
5

Ustawiłem ikonę dla mojej aplikacji PyQt przy użyciu self.setWindowIcon(QtGui.QIcon('icon.png')) i działa dobrze, gdy uruchamiam mój kod w PyCharm.Python PyInstaller i zawiera ikonę okna

Następny konwertowane mojej aplikacji do jednego pliku z PyInstaller:

pyinstaller.exe --onefile --windowed opc.py --name myapps

Jednak podczas uruchamiania pliku wykonywalnego ikona nie jest pokazane. Co ja robię źle ?


Na lewej stronie kodu z pycharm, po prawej stronie od jednego pliku (pyinstaller.exe --onefile --windowed opc.py --name MyApps). Dlaczego to nie to samo? Chcę, aby ikona * .png była przezroczysta.

enter image description here

Odpowiedz

3

Ikona wyświetlana podczas uruchamiania pliku wykonywalnego na Windows pochodzi z samego pliku wykonywalnego. Aby powiązać ikonę z aplikacją, należy podać ikonę podczas budowania za pomocą parametru pyinstaller.exe, przekazując parametr --icon. Na przykład:

pyinstaller.exe --onefile --windowed --name myapps --icon=icon.ico opc.py 

Należy zauważyć, że w przeciwieństwie do setWindowIcon() plik ikona musi być w formacie .ico, więc trzeba będzie przekształcić go z .png pierwszy.

Jeśli chcesz użyć wywołania PyQt do ustawienia ikony, musisz spakować plik ikony do pliku wykonywalnego, co można wykonać za pomocą PyInstaller spec file. Przegląd procesu tworzenia i modyfikowania pliku spec znajduje się w this previous answer.

+0

To nie jest to, co chciałem. Zaktualizowałem moje pytanie i dodałem zdjęcie. – Luk

+0

@Luk zobacz powyższą edycję. Będziesz musiał dołączyć plik '.png' do pliku wykonywalnego, aby osiągnąć to, co chcesz. Połączona odpowiedź powinna załatwić sprawę. – mfitzp

Powiązane problemy