Qt3DRender::QSceneLoader Class
class Qt3DRender::QSceneLoaderBietet 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.
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSceneLoader ist Teil von „Eingabe/Ausgabe und Netzwerk“.
Ö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.
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DRender::QSceneLoader::UnknownComponent | 0 | Unbekannter Komponententyp |
Qt3DRender::QSceneLoader::GeometryRendererComponent | 1 | Qt3DRender::QGeometryRenderer-Komponente |
Qt3DRender::QSceneLoader::TransformComponent | 2 | Qt3DCore::QTransform-Komponente |
Qt3DRender::QSceneLoader::MaterialComponent | 3 | Qt3DRender::QMaterial-Komponente |
Qt3DRender::QSceneLoader::LightComponent | 4 | Qt3DRender::QAbstractLight-Komponente |
Qt3DRender::QSceneLoader::CameraLensComponent | 5 | Qt3DRender::QCameraLens-Komponente |
enum QSceneLoader::Status
Diese Enumeration gibt den Ladezustand an
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DRender::QSceneLoader::None | 0 | Der „ Qt3DRender::QSceneLoader “ wurde noch nicht verwendet. |
Qt3DRender::QSceneLoader::Loading | 1 | Der „ Qt3DRender::QSceneLoader “ lädt derzeit die Szenendatei. |
Qt3DRender::QSceneLoader::Ready | 2 | Der „ Qt3DRender::QSceneLoader “ hat die Szenendatei erfolgreich geladen. |
Qt3DRender::QSceneLoader::Error | 3 | Beim 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.