我想我遗漏了一些明显的东西,但我自己无法弄清楚。
我正在使用 PyInstaller(运行 dev3.3 版本)从 Python 2.7 构建一个 Mac 应用程序。该应用程序运行良好,没有问题。一开始有一个小的更新窗口,它是使用 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
- 内容
- 框架
- 信息.plist
- 苹果电脑
- 麦克
- 资源
- MyIcon.icns
- 内容
基本上 - mac.app 包包含与主文件夹完全相同的 mac 文件。
问题是我在 Tkinter 窗口中得到不同的分辨率,具体取决于我实际运行的文件。这是 Tkiter 窗口的示例:
- 最上面的是从
mac
文件运行 - 底部的是从
mac.app
文件运行
正如您所看到的,由于某种原因,底部的分辨率要低得多...
有人能告诉我为什么会这样以及如何解决这个问题吗?
最佳答案
最终我通过...仔细阅读 docs 找到了答案;) 这一行解决了我的问题:
例如,当您使用 PyQt5 时,您可以将 NSHighResolutionCapable 设置为 True,让您的应用程序也可以在视网膜屏幕上工作
如果其他人在 MacO 上看到这个问题,这里是答案:
我的规范文件缺少 info_plist
参数指定的高分辨率设置。这是一个例子:
app = BUNDLE(exe,
name='myscript.app',
icon=None,
bundle_identifier=None
info_plist={
'NSHighResolutionCapable': 'True'
},
)
希望它也能帮助到其他人!!! :)
关于python - 应用程序包中的 PyInstaller Tkinter 窗口分辨率低,但应用程序中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40484659/