我正在使用带有QGraphicsView的QGraphicsScene,如this document中所述;我打算最终在我的OpenGL渲染场景上覆盖Qt小部件。
当我启动在上面的教程之后建模的虚拟应用程序时,渲染的视图非常像素化 - HiDPI根本不工作。根据{{3}},我已手动添加:
<key>NSHighResolutionCapable</key>
<string>True</string>
到应用程序的Info.plist文件,仍然无效。 (看来这应该默认为true
,所以也许这并不奇怪。
除此之外,我还没有找到让HiDPI工作所需的东西。我没有使用QtCreator,我的Qt安装是macports&#39; qt4-mac
。我错过了什么?
答案 0 :(得分:1)
Qt5为OpenGL上下文启用HiDPI,但不为小部件和QGraphicsItem启用。
根据this bug,尚不支持在HiDPI中的QGLWidget上渲染小部件和QGraphicsItems;它们将以标准分辨率渲染并调整大小。
QGraphicsView将在HiDPI中呈现,如果它有一个普通的QWidget来支持它。如果在没有OpenGL的情况下使用QGraphicsItems可以达到预期效果,那么在改进HiDPI支持之前,这可能更为可取。
答案 1 :(得分:0)
我刚刚找到解决方案:使用--graphicssystem native
运行您的程序。或者,如果您可以更改来源,则可以使用QApplication::setGraphicsSystem("native");
。