Sur cette page

Qt OpenGL

Qt a deux approches principales pour le développement de l'interface utilisateur : Qt Quick et Qt Widgets. Elles existent pour prendre en charge différents types d'interfaces utilisateur et s'appuient sur des moteurs graphiques distincts qui ont été optimisés pour chacun de ces types.

Il est possible de combiner du code écrit dans l'API graphique OpenGL avec ces deux types d'interface utilisateur dans Qt. Cela peut être utile lorsque l'application possède son propre code dépendant de l'OpenGL, ou lorsqu'elle intègre un moteur de rendu tiers basé sur l'OpenGL.

Le module Qt OpenGL contient des classes de commodité pour rendre ce type d'intégration plus facile et plus rapide.

Qt OpenGL et Qt Widgets

Qt Widgets est généralement rendu par un logiciel de tramage très optimisé et précis, et le contenu final est reproduit à l'écran à l'aide d'une méthode adaptée à la plate-forme sur laquelle l'application est exécutée.

Mais il est également possible de combiner Qt Widgets avec OpenGL. Le principal point d'entrée est la classe QOpenGLWidget. Cette classe peut être utilisée pour activer le rendu OpenGL pour une certaine partie de l'arbre des widgets, et les classes du module Qt OpenGL peuvent être utilisées pour faciliter tout code OpenGL côté application.

Qt OpenGL et Qt Quick

Qt Quick est optimisé pour un rendu accéléré par le matériel. Par défaut, il sera construit sur l'API graphique de bas niveau la plus appropriée pour la plateforme cible.

Par exemple, il utilise par défaut Direct3D sous Windows, tandis que sous macOS, il utilise par défaut Metal. Mais il est également possible de sélectionner manuellement OpenGL comme API graphique active sur les plates-formes où cela est pris en charge.

Pour plus de détails sur l'activation d'OpenGL avec Qt Quickvoir la documentation du moteur de rendu scenegraph.

Utilisation du module

L'utilisation de l'API C++ d'un module Qt nécessite l'établissement d'un lien avec la bibliothèque du module, soit directement, soit par l'intermédiaire d'autres dépendances. Plusieurs outils de construction ont un support dédié pour cela, y compris CMake et qmake.

Construction avec CMake

Utilisez la commande find_package() pour localiser le composant de module nécessaire dans le paquetage Qt6:

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

Pour plus de détails, voir l'aperçu de la construction avec CMake.

Construction avec qmake

Pour configurer le module afin qu'il soit construit avec qmake, ajoutez le module comme valeur de la variable QT dans le fichier .pro du projet :

QT += opengl

Exemples

Référence

Évolution du module

Changes to Qt OpenGL liste les changements importants dans l'API et les fonctionnalités du module qui ont été effectués pour la série Qt 6 de Qt.

Licences et marques déposées

Le module Qt OpenGL est disponible sous licence commerciale auprès de The Qt Company. En outre, il est disponible sous des licences de logiciel libre : La licence GNU Lesser General Public License, version 3, ou la licence GNU General Public License, version 2. Voir Qt Licensing pour plus de détails.

OpenGL® est une marque déposée de Silicon Graphics, Inc. aux États-Unis et dans d'autres pays.

© 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.