如何在Qt4 OpenGL应用程序中启用HiDPI(视网膜)支持?
我正在使用QGraphicscene和QGraphicsView,如中所述;我打算最终在OpenGL渲染的场景上覆盖Qt小部件 当我启动一个仿照上述教程建模的虚拟应用程序时,渲染视图被严重像素化——HiDPI根本不起作用。根据,我已手动添加:如何在Qt4 OpenGL应用程序中启用HiDPI(视网膜)支持?,qt,opengl,qt4,macports,retina,Qt,Opengl,Qt4,Macports,Retina,我正在使用QGraphicscene和QGraphicsView,如中所述;我打算最终在OpenGL渲染的场景上覆盖Qt小部件 当我启动一个仿照上述教程建模的虚拟应用程序时,渲染视图被严重像素化——HiDPI根本不起作用。根据,我已手动添加: <key>NSHighResolutionCapable</key> <string>True</string> NSHighResolutionCapable 真的 到应用程序的Info.plist文
<key>NSHighResolutionCapable</key>
<string>True</string>
NSHighResolutionCapable
真的
到应用程序的Info.plist文件,仍然无效。(看起来这应该默认为true
,所以这并不奇怪)
除此之外,我还没有找到让HiDPI工作所需要的东西。我没有使用QtCreator,我的Qt安装是macports'qt4 mac。我缺少什么?Qt5为OpenGL上下文启用HiDPI,但不为小部件和QGraphics站点启用HiDPI 据介绍,目前还不支持在HiDPI中的QGLWidget上呈现Widget和QGraphicsitem;它们将以标准分辨率渲染并调整大小
如果QGraphicsView有一个普通的QWidget支持它,它将在HiDPI中呈现。如果在不使用OpenGL的情况下使用QGraphicsSitems可以实现所需的效果,那么在改进HiDPI支持之前,这可能是更好的选择。我刚刚找到了解决方案:使用
--graphicssystem native
运行程序。或者,如果可以更改源代码,则可以使用QApplication::setGraphicsSystem(“本机”)代码>