2016-05-19 43 views
5

Ho impostato l'icona per la mia applicazione PyQt utilizzando self.setWindowIcon(QtGui.QIcon('icon.png')) e funziona correttamente quando eseguo il mio codice in PyCharm.Python PyInstaller e include l'icona della finestra

Poi ho convertito la mia domanda di un file con PyInstaller:

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

Tuttavia, quando si esegue l'eseguibile l'icona non è mostrato. Che cosa sto facendo di sbagliato ?


Il codice del sito di sinistro dalla PyCharm, sul sito giusto da un file (pyinstaller.exe --onefile --windowed opc.py --name MyApps). Perché non è lo stesso? Desidero l'icona * .png perché è trasparente.

enter image description here

risposta

3

l'icona visualizzata quando si esegue un file eseguibile su Windows viene fornito dal file eseguibile stesso. Per raggruppare un'icona con l'applicazione, è necessario specificare l'icona quando si crea con pyinstaller.exe passando il parametro --icon. Per esempio:

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

Si noti che diversamente per setWindowIcon() il file icona deve essere in formato .ico, quindi sarà necessario convertirlo dal .png prima.

Se si desidera utilizzare la chiamata PyQt per impostare l'icona, è necessario raggruppare il file dell'icona nell'eseguibile, operazione che può essere eseguita utilizzando PyInstaller spec file. Una procedura dettagliata del processo di creazione e modifica del file spec è in this previous answer.

+0

Non è quello che volevo. Ho aggiornato la mia domanda e ho aggiunto la foto. – Luk

+0

@Lu vedere la modifica sopra. Dovrai raggruppare il file '.png' nell'eseguibile per ottenere ciò che desideri. La risposta collegata dovrebbe fare il trucco. – mfitzp