在视网膜显示器上优化Python QT应用程序

3

目前,Qt界面在视网膜显示屏上看起来很糟糕,因为它们会被放大。虽然可以为编译后的应用程序使用Info.Plist文件,但是否有解决方法适用于PySide创建的动态Python界面?


2
也许你应该解释一下你是如何缩放你的GUI,以及结果为什么看起来“可怕”。 - Luke
2个回答

3

您没有说明正在使用的Qt版本。最新版本Qt v5.1对Retina支持最好,但v5.0的支持也很不错。如果您仍在使用Qt v4.8,则需要手动应用修补程序以启用高DPI。

Info.Plist文件中以下键控制高DPI模式:

<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>

Qt 5使用栅格绘图引擎,并通过缩放绘画变换来实现高dpi矢量图形。如果未设置NSHighResolutionCapable,应用程序将以“正常”分辨率呈现,然后会简单地进行缩放。在高分辨率显示器上,这看起来很糟糕。另一方面,高分辨率模式完全向后兼容,并且在低分辨率显示器上可以很好地呈现。我建议始终启用它。

启用高DPI后,您仍需要确保所有光栅内容(图像资源)具有足够高的分辨率,以便漂亮地显示。请查看QT博客文章Retina display support for Mac OS, iOS and X11获取完整详情。


错过了补丁信息。谢谢djf。 - Marcus1219

1
我基本上找到了解决方案:确保你已经安装了QT >= 5,因为它是在那个版本中引入的,其次我现在正在运行python3.3
享受你的视网膜。

1
您忘记输入解决方案了 :) - Marek R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接