python - 应用程序包中的 PyInstaller Tkinter 窗口分辨率低,但应用程序中没有

标签 python macos tkinter pyinstaller

我想我遗漏了一些明显的东西,但我自己无法弄清楚。

我正在使用 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 文件运行

enter image description here

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

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

最佳答案

最终我通过...仔细阅读 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/

相关文章:

python - 将行附加到 Pandas 中的组

python - 如何在 Mac OS 10.6.8 上为 Python 2.5 安装 pycrypto?

macos - 启动后如何重启docker-machine?

Android Studio 看不到 Android 进程

python - 有没有什么方法可以将 Enter 键绑定(bind)到 Python 中的 Tkinter.Toplevel() 窗口?

python - 岭回归中的 alpha 是什么?

python - NDB map (回调,produces_cursors=True)

python - docx 中的 add_paragraph() 添加换行符

python - Tkinter - 如何获取整数输入值?

python - 如何将 StringVar 连接到 Python/Tkinter 中的文本小部件?