我正在将QGraphicsScene和QGraphicsView一起使用,如this document中所述;我打算最终在我的OpenGL渲染场景上覆盖Qt小部件。

当我启动按照上述教程建模的虚拟应用程序时,渲染的视图被严重像素化-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支持之前,这可能是更可取的。

10-08 07:55