我正在将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支持之前,这可能是更可取的。