Qt 有 2 种主要 UI 开发方式: Qt Quick and Qt Widgets 。它们的存在是为支持不同类型的用户界面,并单独构建针对每种类型有优化的图形引擎。
组合以 OpenGL 图形 API 编写的代码与这 2 种 Qt 用户界面类型,是可能的。这很有用,当应用程序拥有自己的 OpenGL 从属代码时 (或集成基于 OpenGL 的第 3 方渲染器时)。
Qt OpenGL 模块包含使这种类型的集成变得更容易和更快的方便类。
Qt Widgets 通常是由高度优化且精确的软件光栅化器渲染的,最终内容使用适合应用程序运行平台的方法在屏幕上重现。
但是,也可以组合 Qt Widgets 与 OpenGL。这的主要入口点是 QOpenGLWidget 类。此类用于为 Widget 树的特定部分启用 OpenGL 渲染,且 Qt OpenGL 模块中的类可用于促进任何应用程序侧的 OpenGL 代码。
Qt Quick 是为硬件加速渲染而优化的。默认情况下,它基于最适合目标平台的低级图形 API 构建。
例如,它将默认为
Direct3D
在 Windows,而在 macOS,它将默认为
Metal
。但是,在支持这的平台手动选择 OpenGL 作为活动图形 API,也是可能的。
有关启用 OpenGL 的更多细节采用 Qt Quick ,见 场景图形渲染器文档编制 .
使用 Qt 模块要求直接或透过其它依赖链接到模块库。一些构建工具为此有贡献支持,包括 CMake and qmake .
使用
find_package()
命令去定位所需模块组件,在
Qt6
包:
find_package(Qt6 COMPONENTS OpenGL REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::OpenGL)
另请参阅 构建采用 CMake 概述。
要配置采用 qmake 构建模块,添加模块作为值为
QT
变量在工程的 .pro 文件:
QT += opengl
Qt OpenGL 的变化 列出了 Qt 的 Qt 6 系列在模块 API 和功能上所做出的重要改变。
Qt OpenGL 模块在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的: GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。
OpenGL ® 是 Silicon (硅谷) 图形公司在美国及其它国家的商标。
这些是指向 API 参考资料和相关页面的链接。