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: