Qt 3D

Qt 3D bietet Funktionalität für echtzeitnahe Simulationssysteme mit Unterstützung für 2D- und 3D-Rendering sowohl in Qt C++- als auch in Qt Quick -Anwendungen.

Die Funktionalität von Qt 3D ist in die folgenden C++-Module unterteilt:

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

Für Qt Quick Anwendungen bietet Qt 3D die folgenden QML-Module:

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

Verwendung des Moduls

Für eine C++-Anwendung, die 2D- oder 3D-Rendering, Kollisionserkennung und die Verarbeitung von Benutzereingaben durchführt, fügen Sie die folgenden Direktiven in die Klassen der Module 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 Import-Anweisung 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 eine 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.

Bauen 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
)

Bauen mit qmake

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

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

Eine Qt Quick Anwendung benötigt zusätzliche Abhängigkeiten:

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

Überblick

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

Referenz

Qt 3D Plattform-Unterstützung

Qt 3D bietet die folgende Plattformunterstützung:

  • Microsoft Windows (win32) - Unterstützt
  • Linux X11 - Unterstützt
  • macOS - Unterstützt, obwohl es einige Probleme mit der Retina-Skalierung geben kann
  • Android - Unterstützt
  • Embedded Linux - Unterstützt
  • iOS - Unterstützt seit (Qt 5.7)
  • WinRT - Noch nicht unterstützt

Modul-Entwicklung

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

Lizenzen und Namensnennung

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, erhältlich. Siehe Qt Licensing für weitere Details.

Darüber hinaus enthält Qt 3D Module von Drittanbietern, die unter den folgenden erlaubten Lizenzen stehen:

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 5.4.3

BSD 3-Klausel "New" oder "Revised" Lizenznehmer

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