Qt 3D

Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications.

The functionality in Qt 3D is divided into the following C++ modules:

The following C++ modules are in still development but are available as technology previews:

For Qt Quick applications, Qt 3D provides the following QML modules:

The following QML modules are in still development but are available as technology previews:

Using the Module

For a C++ application that performs 2D or 3D rendering, collision detection, and handles user input, include the following directives of the modules' classes:

 
Sélectionnez
#include <Qt3DCore>
#include <Qt3DRender>
#include <Qt3DInput>
#include <Qt3DLogic>
#include <Qt3DExtras>
#include <Qt3DAnimation>

To import the QML types into your application, use the following import statement in your .qml file:

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

Using a Qt module requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module components in the Qt6 package:

 
Sélectionnez
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
)

Building with qmake

To configure the module for building with qmake, add the modules to the QT variable in the project's .pro file: