Bundle .app affichant une fenêtre Tkinter basse résolution


1

J'ai déjà posé cette question sur stackoverflow, mais comme je n'ai pas encore obtenu de réponse et que cela est peut-être spécifique à Mac, je demande ici à nouveau:

J'utilise Pyinstaller pour intégrer une application Python à une application Mac. Cela fonctionne bien. Récemment, j'ai ajouté une fenêtre graphique utilisant Tkinter pour vérifier les mises à jour, démarrer / arrêter l'application, etc.

Il se passe quelque chose d'étrange que je ne comprends pas. Après avoir exécuté PyInstaller et créé une onefileapplication permanente, le résultat suivant est obtenu 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

Voici le résultat lors de l'exécution du macfichier (image supérieure) et de l' mac.appimage (image inférieure): entrez la description de l'image ici

Notez la différence dans la résolution de la fenêtre, même si le mac.apppaquet contient exactement le même macprogramme ...

Est-ce qu'il me manque quelque chose pour obtenir la même solution dans les deux cas?

Réponses:


1

Trouvez la réponse en lisant attentivement la documentation .

Il me manquait des paramètres de rétine haute résolution dans la partie application de mon fichier de spécifications, comme indiqué dans la documentation mentionnée ci-dessus:

Par exemple, lorsque vous utilisez PyQt5, vous pouvez définir NSHighResolutionCapable sur True pour que votre application fonctionne également dans l'écran Retina.

Une fois que j'ai ajouté le info_plistparamètre fourni ci-dessous, le problème avait disparu :)

app = BUNDLE(exe,
     name='myscript.app',
     icon=None,
     bundle_identifier=None
     info_plist={
        'NSHighResolutionCapable': 'True'
        },
     )
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.