Low Resolution Tkinter Window in .app Bundle – How to Fix

applicationsmacmacospython

I asked this question already on stackoverflow but since I didn't got yet an answer and this may be Mac specific I'm asking here again:

I'm using Pyinstaller to package a Python app into a Mac App. This is working fine. Recently I have added a GUI window using Tkinter to check for updates, start/stop the app, etc.

There's something strange happening which I don't understand. After running successfully PyInstaller and creating a onefile standing app I get the following outcome after running 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

Here's the outcome while running the mac file (upper image) and the mac.app (lower image):
enter image description here

Notice the difference in the window resolution, although the mac.app package contains exactly the same mac program …

Is there something I'm missing to get the same solution in both cases?

Best Answer

Found the answer by carefully reading the docs.

I was missing High Resolution retina settings in the app part of my spec file, as mentioned in the above mentioned docs:

For example, when you use PyQt5, you can set NSHighResolutionCapable to True to let your app also work in retina screen

Once I added the info_plist parameter as provided below the problem was gone:)

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