Qt OpenGL

Qt 有 2 種主要 UI 開發方式: Qt Quick and Qt Widgets . They exist to support different types of user interfaces, and build on separate graphics engines that have been optimized for each of these types.

It is possible to combine code written in the OpenGL graphics API with both of these user interface types in Qt. This can be useful when the application has its own OpenGL-dependent code, or when it is integrating with a third-party OpenGL-based renderer.

Qt OpenGL 模塊包含使這種類型的集成變得更容易和更快的方便類。

Qt OpenGL 和 Qt Widgets

Qt Widgets 通常是由高度優化且精確的軟件光柵化器渲染的,最終內容使用適閤應用程序運行平颱的方法在屏幕上重現。

但是,也可以組閤 Qt Widgets 與 OpenGL。這的主要入口點是 QOpenGLWidget 類。此類用於為 Widget 樹的特定部分啓用 OpenGL 渲染,且 Qt OpenGL 模塊中的類可用於促進任何應用程序側的 OpenGL 代碼。

Qt OpenGL 和 Qt Quick

Qt Quick 是為硬件加速渲染而優化的。默認情況下,它基於最適閤目標平颱的低級圖形 API 構建。

例如,它將默認為 Direct3D 在 Windows,而在 macOS,它將默認為 Metal 。但是,在支持這的平颱手動選擇 OpenGL 作為活動圖形 API,也是可能的。

有關啓用 OpenGL 的更多細節采用 Qt Quick ,見 場景圖形渲染器文檔編製 .

使用模塊

使用 Qt 模塊的 C++ API 要求直接 (或透過其它依賴) 鏈接到模塊庫。幾個構建工具對此有專用支持,包括 CMake and qmake .

構建采用 CMake

使用 find_package() 命令定位所需模塊組件在 Qt6 包:

find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(mytarget PRIVATE Qt6::OpenGL)
					

更多細節,見 構建采用 CMake 概述。

采用 qmake 構建

要配置采用 qmake 構建模塊,添加模塊作為值為 QT 變量在工程的 .pro 文件:

QT += opengl
					

範例

參考

模塊演變

Qt OpenGL 的變化 列齣瞭 Qt 的 Qt 6 係列在模塊 API 和功能上所做齣的重要改變。

許可和商標

Qt OpenGL 模塊在商業許可下是可用的來自 Qt 公司 。此外,它在自由軟件許可下也是可用的: GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。

OpenGL ® 是 Silicon (矽榖) 圖形公司在美國及其它國傢的商標。