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

2024-06-23

我正在使用带有 QGraphicsView 的 QGraphicsScene,如中所述这个文件 https://doc.qt.io/archives/qq/qq26-openglcanvas.html。我打算最终将 Qt 小部件覆盖在我的 OpenGL 渲染场景之上。

当我启动根据上述教程建模的虚拟应用程序时,渲染的视图严重像素化 - HiDPI 根本不起作用。每这个文件 https://www.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11,我手动添加了:

<key>NSHighResolutionCapable</key>
<string>True</string> 

到应用程序的 Info.plist 文件,仍然没有效果。 (看来这应该默认为true无论如何,所以也许这并不奇怪)。

除此之外,我还没有找到让 HiDPI 工作所需的条件。我没有使用 QtCreator,我的 Qt 安装是 macports'qt4-mac。我缺少什么?


Qt5 为 OpenGL 上下文启用 HiDPI,但不为小部件和 QGraphicsItems 启用。

根据this bug https://bugreports.qt-project.org/browse/QTBUG-26795,尚不支持在 HiDPI 中的 QGLWidget 上渲染小部件和 QGraphicsItems;它们将以标准分辨率渲染并调整大小。

如果 QGraphicsView 有一个普通的 QWidget 支持,它将以 HiDPI 渲染。如果可以在不使用 OpenGL 的情况下使用 QGraphicsItems 实现所需的效果,那么在改进 HiDPI 支持之前这可能是更好的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Qt4 OpenGL 应用程序中启用 HiDPI (Retina) 支持? 的相关文章

  • PyQt:在运行时向滚动区域添加小部件

    我试图在运行时通过按下按钮来添加新的小部件 在下面的示例中我使用标签 这里是例子 import sys from PyQt4 QtCore import from PyQt4 QtGui import class Widget QWidge
  • 使用 qt 创建和使用共享库

    我对共享库很陌生 所以我对如何创建 使用共享库有疑问 我正在使用 Qt Creator 和 qt 5 4 2 以及 Microsoft Visual C 11 0 编译器 在我的项目中 我需要创建一个 dll 它从外部库调用函数 有 h l
  • Qt 文本选择白线和文本宽度

    我想在 QTextEdit 中自定义文本选择 我想要两件事 选择时删除空格 线条 能够选择选择的宽度 或者小部件宽度 或文本宽度 空白 线条 通常 我想要的是 来自 Bear 应用程序 熊文本选择 在使用 QTextEdit 小部件时 我注
  • Qt:使用 QObject::connect 指定多种连接类型

    我想知道是否可以指定多种连接类型 例如 我希望我的连接类型是排队连接和唯一连接 是否可以在一份声明中具体说明这一点 QObject connect ptrSender SIGNAL ptrReceiver SLOT Queued and u
  • 如何在 Qt4 OpenGL 应用程序中启用 HiDPI (Retina) 支持?

    我正在使用带有 QGraphicsView 的 QGraphicsScene 如中所述这个文件 https doc qt io archives qq qq26 openglcanvas html 我打算最终将 Qt 小部件覆盖在我的 Op
  • QDateTime::fromstring( __DATE__, "MMM d yyyy") 返回无效

    解析MSVC 预定义 DATE 也许结合 TIME 宏与 QDateTime fromstring 不返回任何内容 无效的 QDateTime 对象 为什么 From http msdn microsoft com en us librar
  • qtcreator中C++14的编译

    我有一个 qt 项目 其中包含以下部分C 14 最近 我改变了我的 ubuntu 发行版 现在我有 16 04 LTS 并且安装了 Qt Creator 4 02 建于 6 月 13 日 为了启用C 14编译 我放入项目文件中 QMAKE
  • 如何使用 Qt/C++ 创建/读取/写入文件并将设置存储在程序本地

    我是一个不幸的 C 初学者 使用 Qt GUI 设计器程序似乎非常适合我的需求 但我在尝试编写所需的代码时遇到了问题 我可以使用 QSettings 字符串在硬盘驱动器上存储本地设置 但我个人讨厌程序执行某些程序所做的 HOME LOCAL
  • Qt,颜色选择器对话框?

    Qt 是否有如下所示的颜色选择器对话框 它还需要有一个 OnColorChanged 信号 当选定的颜色发生变化时会调用该信号 我想在他们改变颜色时提供实时预览 这就是原因 使用谷歌我只能找到这个 它是一个圆边上的三角形 我个人认为它看起来
  • OpenGL各向异性过滤支持,检查结果矛盾

    当检查是否支持各向异性过滤时 我得到矛盾的结果 if glewIsSupported GL EXT texture filter anisotropic GLEW EXT texture filter anisotropic std cou
  • QNetworkAccessManager 的替代方案

    我正在BB10中绘制地图 地图被划分为图块 开始时 用户给出经度 纬度和缩放级别 地图将显示在该坐标处 我通过使用 QNetworkAccessManager 执行 http 请求来获得单个图块 首先下载 7x5 块 但问题是 当用户开始在
  • 如何使用 C++ 更新 QML 文本

    我有一个小问题 有人可以告诉我如何从 C 更新 qml 文本吗 我有一个使用线程的示例 但我不想应用此方法 因为我不知道如何设置 run 函数中的参数 要完全理解我 这里是我的代码 在启动线程时的主函数中 我想放置自定义文本或具有文本的字符
  • 超越堆栈采样:C++ 分析器

    黑客的故事 日期是 2010 年 2 月 12 日 圣诞节前的日子已经过去了 作为一名 Windows 程序员 我几乎遇到了一个主要障碍 我一直在使用 AQTime 我尝试过 sleepy shiny very sleepy 就在我们说话的
  • 如何防止 QTableView 项目在双击时被清除

    使用 QAbstractTableModel 将 QTableView 设置为可编辑flag method def flags self index return Qt ItemIsEnabled Qt ItemIsSelectable Q
  • Qt 中的智能指针[重复]

    这个问题在这里已经有答案了 就像已经写过一样here http blog qt digia com 2009 08 25 count with me how many smart pointer classes does qt have Q
  • Qt 按键事件 Enter

    void LoginModle keyPressEvent QKeyEvent event qDebug lt lt event gt key lt lt t lt lt Qt Key Enter lt lt t lt lt QKeyEve
  • QTreeView绘制下降指示器

    我需要在 QTreeView 中通过拖放实现行移动 并显示行之间的放置指示器 我想知道是否有一种方法可以覆盖指示器绘制 因此它仅针对行之间的所有层次结构级别显示 而不是项目周围的矩形 该线必须与整行一样宽 而不是与一列一样宽 可以通过修改用
  • QML 缩放不适用于非整数缩放因子

    我正在使用 QML 编写一个应用程序 当我按非整数因子缩放 GUI 时遇到麻烦 根据文档 https doc qt io qt 5 highdpi html Qt AA EnableHighDpiScaling应该启用与设备无关的像素 因此
  • 围绕 glutMainLoop 执行程序的其余部分?

    我目前正在开发一个项目 其中有一个 android 应用程序 我在 PC 上的 OpenGL 窗口中编写了控件和对象 我已经让 OpenGL 窗口执行我想要的操作 并且我从 Android 设备获取了数据以流式传输到终端 但是我需要将数据传
  • Qt jpg图像显示

    我想在 Qt UI 中显示 jpg 图像 我上网查了一下 发现https doc qt io archives qt 4 8 qt widgets imageviewer example html https doc qt io archi

随机推荐