我正在使用带有 QGraphicsView 的 QGraphicsScene,如中所述这个文件 https://doc.qt.io/archives/qq/qq26-openglcanvas.html。我打算最终将 Qt 小部件覆盖在我的 OpenGL 渲染场景之上。
当我启动根据上述教程建模的虚拟应用程序时,渲染的视图严重像素化 - HiDPI 根本不起作用。每这个文件 https://www.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11,我手动添加了:
<key>NSHighResolutionCapable</key>
<string>True</string>
到应用程序的 Info.plist 文件,仍然没有效果。 (看来这应该默认为true
无论如何,所以也许这并不奇怪)。
除此之外,我还没有找到让 HiDPI 工作所需的条件。我没有使用 QtCreator,我的 Qt 安装是 macports'qt4-mac
。我缺少什么?
Qt5 为 OpenGL 上下文启用 HiDPI,但不为小部件和 QGraphicsItems 启用。
根据this bug https://bugreports.qt-project.org/browse/QTBUG-26795,尚不支持在 HiDPI 中的 QGLWidget 上渲染小部件和 QGraphicsItems;它们将以标准分辨率渲染并调整大小。
如果 QGraphicsView 有一个普通的 QWidget 支持,它将以 HiDPI 渲染。如果可以在不使用 OpenGL 的情况下使用 QGraphicsItems 实现所需的效果,那么在改进 HiDPI 支持之前这可能是更好的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)