Auf dieser Seite

Qt 3D

Qt 3D werden Funktionen für Simulationssysteme in nahezu Echtzeit bereitgestellt, die 2D- und 3D-Rendering sowohl in Qt-C++- als auch in „ Qt Quick “-Anwendungen unterstützen.

Die Funktionen in „ Qt 3D “ sind in die folgenden C++-Module unterteilt:

Die folgenden C++-Module befinden sich noch in der Entwicklung, sind jedoch als Technologievorschau verfügbar:

Für „ Qt Quick “-Anwendungen stellt „ Qt 3D “ die folgenden QML-Module bereit:

Die folgenden QML-Module befinden sich noch in der Entwicklung, sind jedoch als Technologievorschau verfügbar:

Verwendung des Moduls

Für eine C++-Anwendung, die 2D- oder 3D-Rendering sowie Kollisionserkennung durchführt und Benutzereingaben verarbeitet, fügen Sie die folgenden Anweisungen der Modulklassen ein:

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

Um die QML-Typen in Ihre Anwendung zu importieren, verwenden Sie die folgende Importanweisung in Ihrer .qml-Datei:

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

Die Verwendung der C++-API eines Qt-Moduls erfordert die Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.

Erstellen mit CMake

Verwenden Sie den Befehl „ find_package() “, um die benötigten Modulkomponenten im Paket „ Qt6 “ zu finden:

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
)

Erstellen mit qmake

Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie die Module zur Variablen „ QT “ in der .pro-Datei des Projekts hinzu:

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

Eine „ Qt Quick “-Anwendung erfordert zusätzliche Abhängigkeiten:

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

Übersicht

Das übergeordnete Design und die Motivation für „ Qt 3D “ werden in der Übersicht zu „Qt 3D “ beschrieben. „ Qt 3D “ Render bietet Unterstützung für datengesteuerte Konfiguration, wie in „Qt 3D “ Render Framegraph beschrieben.

Referenz

Qt 3D Plattformunterstützung

Qt 3D bietet Unterstützung für folgende Plattformen:

  • Microsoft Windows (win32) – Unterstützt
  • Linux X11 – Unterstützt
  • macOS – wird unterstützt, allerdings kann es zu Problemen bei der Retina-Skalierung kommen
  • Android – Unterstützt
  • Embedded Linux – Unterstützt
  • iOS – Unterstützt seit (Qt 5.7)
  • WinRT – Noch nicht unterstützt

Modulentwicklung

„Änderungen an Qt3D“ listet wichtige Änderungen an der Modul-API und der Funktionalität auf, die für die Qt-6-Serie von Qt vorgenommen wurden.

Lizenzen und Urheberangaben

Qt 3D ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter der GNU Lesser General Public License, Version 3, oder der GNU General Public License, Version 2, verfügbar. Weitere Details finden Sie unter Qt-Lizenzierung.

Darüber hinaus enthält „ Qt 3D “ Module von Drittanbietern unter den folgenden freizügigen Lizenzen:

Dear ImGui - ProggyClean.ttf

MIT-Lizenz

Dear ImGui - stb

MIT-Lizenz oder Public Domain

Dear ImGui, version v1.91.0

MIT-Lizenz

Open Asset Import Library, version 6.0.5

BSD-3-Klausel-Lizenz („New“ oder „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.