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.