Bundle .app con finestra Tkinter a bassa risoluzione


1

Ho già posto questa domanda su StackOverflow ma poiché non ho ancora ricevuto una risposta e questo potrebbe essere specifico per Mac, lo sto chiedendo di nuovo qui:

Sto usando Pyinstaller per impacchettare un'app Python in un'app Mac. Funziona benissimo. Recentemente ho aggiunto una finestra della GUI usando Tkinter per verificare la presenza di aggiornamenti, avviare / arrestare l'app, ecc.

Sta succedendo qualcosa di strano che non capisco. Dopo aver eseguito correttamente PyInstaller e aver creato onefileun'app permanente, dopo aver eseguito ottengo il seguente risultato ls -al:

-rwxr-xr-x   1 karold  staff  62756614  8 lis 11:08 mac
drwxr-xr-x   3 karold  staff       102  8 lis 11:09 mac.app

Ecco il risultato durante l'esecuzione del macfile (immagine superiore) e mac.app(immagine inferiore): inserisci qui la descrizione dell'immagine

Notare la differenza nella risoluzione della finestra, sebbene il mac.apppacchetto contenga esattamente lo stesso macprogramma ...

C'è qualcosa che mi manca per ottenere la stessa soluzione in entrambi i casi?

Risposte:


1

Hai trovato la risposta leggendo attentamente i documenti .

Mi mancavano le impostazioni della retina ad alta risoluzione nella parte app del mio file delle specifiche, come menzionato nei documenti sopra menzionati:

Ad esempio, quando si utilizza PyQt5, è possibile impostare NSHighResolutionCapable su True per consentire all'app di funzionare anche nella schermata della retina

Una volta aggiunto il info_plistparametro come indicato di seguito, il problema era sparito :)

app = BUNDLE(exe,
     name='myscript.app',
     icon=None,
     bundle_identifier=None
     info_plist={
        'NSHighResolutionCapable': 'True'
        },
     )
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.