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

Qt接口在放大时在视网膜显示屏上看起来很可怕,可以将Info.Plist用于已编译的应用程序,但是有人对动态python有解决方案吗,例如在PySide中创建的接口?

解决方法:

您没有说要使用哪个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.

上一篇:python-用pyuic将.ui转换为.py?


下一篇:我需要使用MatPlotLib在PyQt4 GUI中绘制一个饼图