Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Qt4 OpenGL应用程序中启用HiDPI(视网膜)支持?_Qt_Opengl_Qt4_Macports_Retina - Fatal编程技术网

如何在Qt4 OpenGL应用程序中启用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文

我正在使用QGraphicscene和QGraphicsView,如中所述;我打算最终在OpenGL渲染的场景上覆盖Qt小部件

当我启动一个仿照上述教程建模的虚拟应用程序时,渲染视图被严重像素化——HiDPI根本不起作用。根据,我已手动添加:

<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(“本机”)