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

时间:2013-06-20 10:12:40

标签: python qt pyqt pyside

Qt接口目前在视网膜显示器上看起来很恐怖,因为它们可以扩展。可以使用Info.Plist进行编译应用程序但是有没有人有动态python的解决方案,比如在PySide中创建的接口?

2 个答案:

答案 0 :(得分:3)

你没有说你正在使用的Qt版本。在最新版本Qt v5.1中,Retina支持最佳。但是v5.0也很不错。如果您仍然使用Qt v4.8,则必须手动应用patches以启用高DPI。

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

<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

答案 1 :(得分:1)

我基本上找到了解决方案:确保您已安装QT >= 5,因为它已在该版本中引入,其次我正在运行python3.3

享受你的视网膜