我正在使用带有 QGraphicsView 的 QGraphicsScene,如 this document 中所述.我打算最终将 Qt 小部件覆盖在我的 OpenGL 渲染场景之上。
当我启动一个根据上述教程建模的虚拟应用程序时,呈现的 View 严重像素化——HiDPI 根本不起作用。每this document ,我已经手动添加了:
<key>NSHighResolutionCapable</key>
<string>True</string>
到应用程序的 Info.plist 文件,仍然没有效果。 (看起来这应该默认为 true
,所以也许这并不奇怪)。
除上述内容外,我还没有找到让 HiDPI 工作所需的内容。我没有使用 QtCreator,我的 Qt 安装是 macports 的 qt4-mac
。我错过了什么?
最佳答案
Qt5 为 OpenGL 上下文启用了 HiDPI,但不为小部件和 QGraphicsItems 启用。
根据 this bug ,尚不支持在 HiDPI 中的 QGLWidget 上渲染小部件和 QGraphicsItems;它们将以标准分辨率呈现并调整大小。
如果 QGraphicsView 有一个普通的 QWidget 支持它,它将以 HiDPI 呈现。如果在没有 OpenGL 的情况下使用 QGraphicsItems 可以达到预期的效果,那么在改进 HiDPI 支持之前,这可能是更可取的。
关于qt - 如何在 Qt4 OpenGL 应用程序中启用 HiDPI (Retina) 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23985143/