Qt OpenGL
Qt 提供了两种主要的用户界面开发方法: Qt Quick 以及 Qt Widgets。这两种方法旨在支持不同类型的用户界面,并基于针对各自类型进行优化的独立图形引擎。
在 Qt 中,可以将使用 OpenGL 图形 API 编写的代码与这两种用户界面类型结合使用。当应用程序拥有自己的依赖于 OpenGL 的代码,或者需要与基于 OpenGL 的第三方渲染器集成时,这会非常有用。
Qt OpenGL 模块包含一些便利类,可让此类集成变得更轻松、更快捷。
Qt OpenGL 以及Qt Widgets
Qt Widgets 通常由高度优化且精确的软件光栅化器进行渲染,并使用适合应用程序运行平台的方法将最终内容重现到屏幕上。
但也可以将 Qt Widgets 与 OpenGL 结合使用。其主要入口点是 `QOpenGLWidget ` 类。该类可用于为小部件树的特定部分启用 OpenGL 渲染,而 `Qt OpenGL ` 模块中的类则可用于支持任何应用程序侧的 OpenGL 代码。
Qt OpenGL 以及Qt Quick
Qt Quick 针对硬件加速渲染进行了优化。默认情况下,它将基于最适合目标平台的低级图形 API 进行构建。
例如,在 Windows 上默认使用Direct3D ,而在 macOS 上则默认使用Metal 。但在支持 OpenGL 的平台上,也可以手动选择 OpenGL 作为活动图形 API。
使用该模块
要使用 Qt 模块的 C++ API,需要与该模块库进行链接,既可以直接链接,也可以通过其他依赖项进行链接。包括CMake和qmake 在内的多种构建工具都对此提供了专门的支持。
使用 CMake 进行构建
使用find_package() 命令在Qt6 包中定位所需的模块组件:
find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(mytarget PRIVATE Qt6::OpenGL)更多详细信息,请参阅“使用 CMake 构建”概述。
使用 qmake 构建
要配置模块以便使用 qmake 进行构建,请在项目的 .pro 文件中将该模块作为QT 变量的值添加:
QT += opengl示例
参考
模块演变
Qt OpenGL列出了为 Qt 6 系列所做的模块 API 和功能方面的重大变更。
许可与商标
Qt OpenGL 模块由The Qt Company 提供商业许可。此外,该模块还提供自由软件许可:GNU 较少通用公共许可证第 3 版(LGPLv3)或GNU 通用公共许可证第 2 版(GPLv2)。更多详细信息请参阅Qt 许可。
OpenGL®是 Silicon Graphics, Inc. 在美国及其他国家/地区的注册商标。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.