PyInstaller Tkinter window 应用程序包中分辨率低,但应用程序中没有

PyInstaller Tkinter window low resolution in App bundle, but not in app program

我想我遗漏了一些明显的东西,但我自己也弄不明白。

我正在使用 PyInstaller(运行使用 dev3.3 版本)从 Python 2.7 构建一个 Mac 应用程序。该应用程序运行良好,没有问题。一开始有一个小的 window 用于使用 Tkinter 构建的更新。

使用 PyInstaller 构建应用程序后(运行使用 oneflie 选项)我得到两个文件(ls -al 结果):

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

这是该文件夹的结构:

基本上 - mac.app 包包含与主文件夹完全相同的 mac 文件。

问题是我在我的 Tkinter window 中获得了不同的分辨率,具体取决于我实际 运行 的文件。这是 Tkiter 的示例 window:

正如您所见,由于某种原因,底部的分辨率要低得多...

谁能告诉我为什么会这样以及如何解决这个问题?

最终我通过...仔细阅读 docs 找到了答案;)这一行解决了我的问题:

比如当你使用PyQt5时,你可以将NSHighResolutionCapable设置为True让你的app也能在retina屏幕上工作

万一其他人在 MacO 上看到这个问题,这里是答案:

我的规范文件缺少 info_plist 参数指定的高分辨率设置。这是一个例子:

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

希望对其他人也有帮助!!! :)