QSceneLoader Class

class Qt3DRender::QSceneLoader

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

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

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

Detaillierte Beschreibung

Ausgehend von einer 3D-Quelldatei versucht Qt3DRender::QSceneLoader, diese zu analysieren und einen Baum von Qt3DCore::QEntity Objekten mit den entsprechenden Komponenten Qt3DRender::QGeometryRenderer, Qt3DCore::QTransform und Qt3DRender::QMaterial zu erstellen.

Der Lader versucht, anhand der Eigenschaften der Modelldatei das am besten zu verwendende Material zu bestimmen. Wenn Sie ein benutzerdefiniertes Material verwenden möchten, müssen Sie die Baumstruktur durchlaufen und die standardmäßig zugeordneten Materialien durch Ihr eigenes ersetzen.

Wie der Name schon sagt, lädt Qt3DRender::QSceneLoader einen kompletten Teilbaum der Szene. Wenn Sie ein einzelnes Stück Geometrie laden möchten, sollten Sie stattdessen Qt3DRender::QMesh verwenden.

Qt3DRender::QSceneLoader Das Programm ist intern auf die Verwendung von Plugins angewiesen, um eine breite Palette von 3D-Dateiformaten zu unterstützen. Hier ist eine Liste der Formate, die von Qt3D unterstützt werden.

Hinweis: Diese Komponente sollte nicht von mehreren Qt3DCore::QEntity Instanzen gemeinsam genutzt werden. Undefiniertes Verhalten ist die Folge.

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

Dokumentation der Mitgliedstypen

enum QSceneLoader::ComponentType

Diese Aufzählung 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 Aufzählung identifiziert den Zustand des Ladens

KonstanteWertBeschreibung
Qt3DRender::QSceneLoader::None0Die Qt3DRender::QSceneLoader wurde noch nicht verwendet.
Qt3DRender::QSceneLoader::Loading1Die Qt3DRender::QSceneLoader lädt gerade die Szenendatei.
Qt3DRender::QSceneLoader::Ready2Die Qt3DRender::QSceneLoader hat die Szenendatei erfolgreich geladen.
Qt3DRender::QSceneLoader::Error3Die Qt3DRender::QSceneLoader ist beim Laden der Szenendatei auf einen Fehler gestoßen.

Eigenschaft Dokumentation

source : QUrl

Enthält die Url der zu ladenden Quelle.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void sourceChanged(const QUrl &source)

[read-only] status : const Status

Enthält den Status des Laden der Szene.

Zugriffsfunktionen:

Qt3DRender::QSceneLoader::Status status() const

Benachrichtigungssignal:

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

Siehe auch Qt3DRender::QSceneLoader::Status.

Dokumentation der Mitgliedsfunktionen

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

Der Konstruktor erzeugt eine Instanz mit dem angegebenen parent.

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

Gibt eine passende Komponente componentType einer geladenen Entität mit einem Objektnamen zurück, der mit entityName übereinstimmt. Wenn die Entität mehrere passende Komponenten hat, wird die erste Übereinstimmung in der Komponentenliste der Entität zurückgegeben. Wenn es keine Übereinstimmung gibt, wird ein Null-Zeiger zurückgegeben.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt eine geladene Entität mit einem objectName zurück, der mit dem Parameter entityName übereinstimmt. Wenn mehrere Entitäten den gleichen Namen haben, ist es undefiniert, welche von ihnen zurückgegeben wird, aber es wird immer die gleiche sein.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus 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 Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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