Sur cette page

Qt OpenGL

Qt propose deux approches principales pour le développement d'interfaces utilisateur : Qt Quick et Qt Widgets. Elles permettent de prendre en charge différents types d’interfaces utilisateur et s’appuient sur des moteurs graphiques distincts, 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 s'avérer utile lorsque l'application dispose de son propre code dépendant d'OpenGL, ou lorsqu'elle s'intègre à un moteur de rendu tiers basé sur OpenGL.

Le module ` Qt OpenGL ` contient des classes utilitaires permettant de rendre ce type d’intégration plus simple et plus rapide.

Qt OpenGL et Qt Widgets

Qt Widgets est généralement rendu par un rasteriseur logiciel hautement optimisé et précis, et le contenu final est affiché à l’écran à l’aide d’une méthode adaptée à la plateforme sur laquelle l’application s’exécute.

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

Qt OpenGL et Qt Quick

Qt Quick est optimisé pour le rendu accéléré par le matériel. Par défaut, il s’appuiera sur l’API graphique de bas niveau la plus adaptée à la plateforme cible.

Par exemple, elle utilisera par défaut Direct3D sous Windows, tandis que sous macOS, elle utilisera par défaut Metal. Il est toutefois possible de sélectionner manuellement OpenGL comme API graphique active sur les plateformes qui le prennent en charge.

Pour plus de détails sur l’activation d’OpenGL avec Qt Quick, consultez la documentation relative au moteur de rendu scenegraph.

Utilisation du module

L’utilisation de l’API C++ d’un module Qt nécessite une liaison avec la bibliothèque du module, soit directement, soit via d’autres dépendances. Plusieurs outils de compilation prennent cela en charge, notamment CMake et qmake.

Compilation avec CMake

Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :

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

Pour plus de détails, consultez la présentation de la compilation avec CMake.

Compilation avec qmake

Pour configurer le module en vue d’une compilation avec qmake, ajoutez le module en tant que valeur de la variable ` QT ` dans le fichier `.pro` du projet :

QT += opengl

Exemples

Référence

Évolution du module

La sectionModifications apportées à Qt OpenGL répertorie les changements importants apportés à l'API et aux fonctionnalités du module dans le cadre de 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. Il est également disponible sous licence de logiciel libre : la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Pour plus d’informations, consultez la page Licences Qt.

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.