Qt OpenGL
Qt hat zwei Hauptansätze für die UI-Entwicklung: Qt Quick und Qt Widgets. Sie unterstützen verschiedene Arten von Benutzeroberflächen und basieren auf separaten Grafik-Engines, die für jede dieser Arten optimiert wurden.
Es ist möglich, Code, der in der OpenGL-Grafik-API geschrieben wurde, mit diesen beiden Benutzeroberflächentypen in Qt zu kombinieren. Dies kann nützlich sein, wenn die Anwendung ihren eigenen OpenGL-abhängigen Code hat, oder wenn sie mit einem OpenGL-basierten Renderer eines Drittanbieters integriert wird.
Das Modul Qt OpenGL enthält Komfortklassen, die diese Art der Integration einfacher und schneller machen.
Qt OpenGL und Qt Widgets
Qt Widgets wird in der Regel von einem hoch optimierten und präzisen Software-Rasterizer gerendert, und der endgültige Inhalt wird mit einer für die Plattform, auf der die Anwendung läuft, geeigneten Methode auf dem Bildschirm wiedergegeben.
Es ist aber auch möglich, eine Kombination Qt Widgets mit OpenGL zu kombinieren. Der Haupteinstiegspunkt hierfür ist die Klasse QOpenGLWidget. Diese Klasse kann verwendet werden, um das OpenGL-Rendering für einen bestimmten Teil des Widget-Baums zu aktivieren, und die Klassen im Modul Qt OpenGL können verwendet werden, um jeglichen OpenGL-Code auf der Anwendungsseite zu erleichtern.
Qt OpenGL und Qt Quick
Qt Quick ist für Hardware-beschleunigtes Rendering optimiert. Standardmäßig wird es auf der Low-Level-Grafik-API aufgebaut, die für die Zielplattform am besten geeignet ist.
Zum Beispiel wird unter Windows standardmäßig Direct3D
verwendet, während unter macOS standardmäßig Metal
verwendet wird. Es ist aber auch möglich, OpenGL manuell als aktive Grafik-API auf Plattformen auszuwählen, auf denen dies unterstützt wird.
Für weitere Details zur Aktivierung von OpenGL mit Qt Quickfinden Sie in der Dokumentation zum Scenegraph-Renderer.
Verwendung des Moduls
Die Verwendung der C++-API eines Qt-Moduls erfordert eine Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.
Bauen mit CMake
Verwenden Sie den Befehl find_package()
, um die benötigte Modulkomponente im Paket Qt6
zu finden:
find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(mytarget PRIVATE Qt6::OpenGL)
Weitere Einzelheiten finden Sie in der Übersicht Bauen mit CMake.
Bauen mit qmake
Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variable QT
in der .pro-Datei des Projekts hinzu:
QT += opengl
Beispiele
Referenz
Entwicklung des Moduls
Änderungen an Qt OpenGL listet wichtige Änderungen an der Modul-API und -Funktionalität auf, die für die Qt 6-Serie von Qt vorgenommen wurden.
Lizenzen und Warenzeichen
Das Modul Qt OpenGL ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter Lizenzen für freie Software erhältlich: Die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2. Siehe Qt-Lizenzierung für weitere Details.
OpenGL® ist eine Marke von Silicon Graphics, Inc. in den Vereinigten Staaten und anderen Ländern.
© 2025 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.