Sur cette page

Qt 3D

Qt 3D propose des fonctionnalités pour les systèmes de simulation en temps quasi réel, avec prise en charge du rendu 2D et 3D dans les applications Qt C++ et Qt Quick.

Les fonctionnalités d'Qt 3D sont réparties dans les modules C++ suivants :

Les modules C++ suivants sont encore en cours de développement, mais sont disponibles en avant-première technologique :

Pour les applications Qt Quick, Qt 3D fournit les modules QML suivants :

Les modules QML suivants sont encore en cours de développement, mais sont disponibles en avant-première technologique :

Utilisation du module

Pour une application C++ qui effectue un rendu 2D ou 3D, détecte les collisions et gère les entrées utilisateur, incluez les directives suivantes des classes des modules :

#include <Qt3DCore>
#include <Qt3DRender>
#include <Qt3DInput>
#include <Qt3DLogic>
#include <Qt3DExtras>
#include <Qt3DAnimation>

Pour importer les types QML dans votre application, utilisez l’instruction d’importation suivante dans votre fichier .qml :

import Qt3D.Core
import Qt3D.Render
import Qt3D.Input
import Qt3D.Logic
import Qt3D.Extras
import Qt3D.Animation
import QtQuick.Scene2D
import QtQuick.Scene3D

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 les composants du module nécessaires dans le paquet « Qt6 » :

find_package(Qt6 REQUIRED COMPONENTS
    3DCore
    3DRender
    3DInput
    3DLogic
    3DExtras
    3DAnimation
)
target_link_libraries(mytarget PRIVATE
    Qt6::3DCore
    Qt6::3DRender
    Qt6::3DLogic
    Qt6::3DExtras
    Qt6::3DAnimation
)

Compilation avec qmake

Pour configurer le module en vue d’une compilation avec qmake, ajoutez les modules à la variable ` QT ` dans le fichier `.pro` du projet :

QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation

Une application « Qt Quick » nécessite des dépendances supplémentaires :

QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation qml quick 3dquick

Présentation

La conception générale et la justification de l’ Qt 3D sont décrites dans la présentation de l’Qt 3D . Le moteur de rendu Qt 3D prend en charge la configuration pilotée par les données, comme décrit dans le Framegraph du moteur de renduQt 3D .

Référence

Qt 3D Prise en charge des plateformes

Qt 3D est pris en charge sur les plateformes suivantes :

  • Microsoft Windows (win32) - Prise en charge
  • Linux X11 - Pris en charge
  • macOS - Pris en charge, bien qu'il puisse y avoir quelques problèmes de mise à l'échelle Retina
  • Android - Pris en charge
  • Linux embarqué - Pris en charge
  • iOS - Pris en charge depuis (Qt 5.7)
  • WinRT - Pas encore pris en charge

Évolution du module

La section «Modifications apportées à Qt3D » répertorie les changements importants apportés à l'API et aux fonctionnalités du module dans le cadre de la série Qt 6.

Licences et mentions légales

Qt 3D est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous la licence GNU Lesser General Public License, version 3, ou la licence GNU General Public License, version 2. Consultez la page Licences Qt pour plus de détails.

Par ailleurs, Qt 3D contient des modules tiers sous les licences permissives suivantes :

Dear ImGui - ProggyClean.ttf

Licence MIT

Dear ImGui - stb

Licence MIT ou domaine public

Dear ImGui, version v1.91.0

Licence MIT

Open Asset Import Library, version 6.0.5

Licence BSD à 3 clauses « New » ou « Revised »

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