Auf dieser Seite

Qt3DRender::QSceneLoader Class

class Qt3DRender::QSceneLoader

Bietet die Möglichkeit, eine vorhandene Szene zu laden. Mehr...

Kopfzeile: #include <qsceneloader.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: SceneLoader
Erbt von: Qt3DCore::QComponent
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Öffentliche Typen

enum ComponentType { UnknownComponent, GeometryRendererComponent, TransformComponent, MaterialComponent, LightComponent, CameraLensComponent }
enum Status { None, Loading, Ready, Error }

Eigenschaften

Öffentliche Funktionen

QSceneLoader(Qt3DCore::QNode *parent = nullptr)
Qt3DCore::QComponent *component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const
Qt3DCore::QEntity *entity(const QString &entityName) const
QStringList entityNames() const
QUrl source() const
Qt3DRender::QSceneLoader::Status status() const

Öffentliche Slots

void setSource(const QUrl &arg)

Signale

void sourceChanged(const QUrl &source)
void statusChanged(Qt3DRender::QSceneLoader::Status status)

Ausführliche Beschreibung

Bei einer 3D-Quelldatei versucht der „ Qt3DRender::QSceneLoader “, diese zu analysieren und einen Baum aus „ Qt3DCore::QEntity “-Objekten mit den entsprechenden Komponenten „ Qt3DRender::QGeometryRenderer “, „ Qt3DCore::QTransform “ und „ Qt3DRender::QMaterial “ aufzubauen.

Der Loader versucht, anhand der Eigenschaften der Modelldatei das am besten geeignete Material zu ermitteln. Wenn Sie ein benutzerdefiniertes Material verwenden möchten, müssen Sie den Baum durchlaufen und die standardmäßig zugeordneten Materialien durch Ihre eigenen ersetzen.

Wie der Name schon sagt, lädt „ Qt3DRender::QSceneLoader “ einen kompletten Szenen-Teilbaum. Wenn Sie ein einzelnes Geometrieelement laden möchten, sollten Sie stattdessen lieber „ Qt3DRender::QMesh “ verwenden.

Qt3DRender::QSceneLoader stützt sich intern auf die Verwendung von Plugins, um eine Vielzahl von 3D-Dateiformaten zu unterstützen. Hier finden Sie eine Liste der von Qt3D unterstützten Formate.

Hinweis: Diese Komponente sollte nicht von mehreren „ Qt3DCore::QEntity “-Instanzen gemeinsam genutzt werden. Dies führt zu undefiniertem Verhalten.

Siehe auch „ Qt3DRender::QMesh “ und „ Qt3DRender::QGeometryRenderer “.

Dokumentation zu den Mitgliedstypen

enum QSceneLoader::ComponentType

Diese Enumeration gibt einen Komponententyp an.

KonstanteWertBeschreibung
Qt3DRender::QSceneLoader::UnknownComponent0Unbekannter Komponententyp
Qt3DRender::QSceneLoader::GeometryRendererComponent1Qt3DRender::QGeometryRenderer-Komponente
Qt3DRender::QSceneLoader::TransformComponent2Qt3DCore::QTransform-Komponente
Qt3DRender::QSceneLoader::MaterialComponent3Qt3DRender::QMaterial-Komponente
Qt3DRender::QSceneLoader::LightComponent4Qt3DRender::QAbstractLight-Komponente
Qt3DRender::QSceneLoader::CameraLensComponent5Qt3DRender::QCameraLens-Komponente

enum QSceneLoader::Status

Diese Enumeration gibt den Ladezustand an

KonstanteWertBeschreibung
Qt3DRender::QSceneLoader::None0Der „ Qt3DRender::QSceneLoader “ wurde noch nicht verwendet.
Qt3DRender::QSceneLoader::Loading1Der „ Qt3DRender::QSceneLoader “ lädt derzeit die Szenendatei.
Qt3DRender::QSceneLoader::Ready2Der „ Qt3DRender::QSceneLoader “ hat die Szenendatei erfolgreich geladen.
Qt3DRender::QSceneLoader::Error3Beim Laden der Szenendatei ist im „ Qt3DRender::QSceneLoader “ ein Fehler aufgetreten.

Eigenschaftsdokumentation

source : QUrl

Enthält die URL der zu ladenden Quelle.

Zugriffsfunktionen:

QUrl source() const
void setSource(const QUrl &arg)

Notifier-Signal:

void sourceChanged(const QUrl &source)

[read-only] status : Status

Gibt den Status des Ladevorgangs der Szene an.

  • SceneLoader.None
  • SceneLoader.Loading
  • SceneLoader.Ready
  • SceneLoader.Error

Zugriffsfunktionen:

Qt3DRender::QSceneLoader::Status status() const

Notifier-Signal:

void statusChanged(Qt3DRender::QSceneLoader::Status status)

Siehe auch „ Qt3DRender::QSceneLoader::Status “.

Dokumentation zu den Mitgliedsfunktionen

[explicit] QSceneLoader::QSceneLoader(Qt3DCore::QNode *parent = nullptr)

Der Konstruktor erstellt eine Instanz mit dem angegebenen ` parent`.

[invokable] Qt3DCore::QComponent *QSceneLoader::component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const

Gibt eine Komponente zurück, deren ` componentType ` mit dem einer geladenen Entität übereinstimmt und deren `objectName` mit dem unter entityName angegebenen übereinstimmt. Wenn die Entität mehrere passende Komponenten enthält, wird die erste Übereinstimmung in der Komponentenliste der Entität zurückgegeben. Wenn keine Übereinstimmung vorliegt, wird ein Null-Zeiger zurückgegeben.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] Qt3DCore::QEntity *QSceneLoader::entity(const QString &entityName) const

Gibt eine geladene Entität zurück, deren „ objectName “-Parameter mit dem Parameter „ entityName “ übereinstimmt. Wenn mehrere Entitäten denselben Namen haben, ist nicht definiert, welche davon zurückgegeben wird, es wird jedoch immer dieselbe sein.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

[invokable] QStringList QSceneLoader::entityNames() const

Gibt eine Liste der „ objectNames “ der geladenen Entitäten zurück.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

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