.app-Bundle, das ein Tkinter-Fenster mit niedriger Auflösung anzeigt

Ich habe diese Frage bereits bei Stackoverflow gestellt , aber da ich noch keine Antwort erhalten habe und dies möglicherweise Mac-spezifisch ist, frage ich hier erneut:

Ich verwende Pyinstaller, um eine Python-App in eine Mac-App zu packen. Das funktioniert gut. Kürzlich habe ich mit Tkinter ein GUI-Fenster hinzugefügt, um nach Updates zu suchen, die App zu starten/stoppen usw.

Da passiert etwas Seltsames, das ich nicht verstehe. Nachdem ich PyInstaller erfolgreich ausgeführt und eine onefilestehende App erstellt habe, erhalte ich nach dem Ausführen das folgende Ergebnis 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

Hier ist das Ergebnis beim Ausführen der macDatei (oberes Bild) und der mac.app(unteres Bild):Geben Sie hier die Bildbeschreibung ein

Beachten Sie den Unterschied in der Fensterauflösung, obwohl das mac.appPaket genau das gleiche macProgramm enthält ...

Fehlt mir etwas, um in beiden Fällen die gleiche Lösung zu erhalten?

Antworten (1)

Ich habe die Antwort gefunden, indem ich die Dokumentation sorgfältig gelesen habe .

Mir fehlten Retina-Einstellungen für hohe Auflösung im App-Teil meiner Spezifikationsdatei, wie in den oben genannten Dokumenten erwähnt:

Wenn Sie beispielsweise PyQt5 verwenden, können Sie NSHighResolutionCapable auf True festlegen, damit Ihre App auch auf dem Retina-Bildschirm funktioniert

Nachdem ich den info_plistParameter wie unten angegeben hinzugefügt hatte, war das Problem weg :)

app = BUNDLE(exe,
     name='myscript.app',
     icon=None,
     bundle_identifier=None
     info_plist={
        'NSHighResolutionCapable': 'True'
        },
     )