qt - 如何在 Qt4 OpenGL 应用程序中启用 HiDPI (Retina) 支持?

标签 qt opengl qt4 macports retina

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

当我启动一个根据上述教程建模的虚拟应用程序时,呈现的 View 严重像素化——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 支持之前,这可能是更可取的。

关于qt - 如何在 Qt4 OpenGL 应用程序中启用 HiDPI (Retina) 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23985143/

相关文章:

c++ - 我的程序无法写入 Windows 驱动器

c++ - 使对象在 OpenGL 中消失和出现

c++ - 在 Qt 中,我怎么知道我在 foreach 中的最后一个对象

c++ - 扩展 Qt 标准图标

c++ - 如何使用 Qt 获取系统代理?

regex - 为什么 QString 不能传递形式为 ("[\\x00-\\xff]*") 的 QRegExp?

c++ - QT5.5 中用于 qDebug() 的新 QFlags 助手的问题

Java OpenGL GL_TEXTURE_2D 使其他颜色变暗

c++ - 获取窗口的像素格式

c++ - 有没有办法在 QScriptEngine#pushContext/popContext 之外维护 Qt 脚本上下文环境?