Sur cette page

Qt3DRender::QSceneLoader Class

class Qt3DRender::QSceneLoader

Permet de charger une scène existante. En savoir plus...

En-tête : #include <qsceneloader.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : SceneLoader
Hérite de : Qt3DCore::QComponent
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Types publics

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

Propriétés

Fonctions publiques

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

Emplacements publics

void setSource(const QUrl &arg)

Signaux

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

Description détaillée

À partir d’un fichier source 3D, le chargeur ( Qt3DRender::QSceneLoader ) tentera de l’analyser et de construire une arborescence d’objets « Qt3DCore::QEntity » avec les composants appropriés : « Qt3DRender::QGeometryRenderer », « Qt3DCore::QTransform » et « Qt3DRender::QMaterial ».

Le chargeur tentera de déterminer le meilleur matériau à utiliser en fonction des propriétés du fichier de modèle. Si vous souhaitez utiliser un matériau personnalisé, vous devrez parcourir l’arborescence et remplacer les matériaux par défaut associés par les vôtres.

Comme son nom l’indique, ` Qt3DRender::QSceneLoader ` charge une sous-arborescence complète de la scène. Si vous souhaitez charger un seul élément géométrique, vous devriez plutôt utiliser la fonction ` Qt3DRender::QMesh `.

Qt3DRender::QSceneLoader S'appuie en interne sur l'utilisation de plugins pour prendre en charge une grande variété de formats de fichiers 3D. Voici une liste des formats pris en charge par Qt3D.

Remarque : ce composant ne doit pas être partagé entre plusieurs instances d'Qt3DCore::QEntity. Cela entraînerait un comportement indéfini.

Voir également Qt3DRender::QMesh et Qt3DRender::QGeometryRenderer.

Documentation sur les types de membres

enum QSceneLoader::ComponentType

Cette énumération spécifie un type de composant.

ConstanteValeurDescription
Qt3DRender::QSceneLoader::UnknownComponent0Type de composant inconnu
Qt3DRender::QSceneLoader::GeometryRendererComponent1Composant Qt3DRender::QGeometryRenderer
Qt3DRender::QSceneLoader::TransformComponent2Composant Qt3DCore::QTransform
Qt3DRender::QSceneLoader::MaterialComponent3Composant Qt3DRender::QMaterial
Qt3DRender::QSceneLoader::LightComponent4Composant Qt3DRender::QAbstractLight
Qt3DRender::QSceneLoader::CameraLensComponent5Composant Qt3DRender::QCameraLens

enum QSceneLoader::Status

Cette énumération identifie l'état de chargement

ConstanteValeurDescription
Qt3DRender::QSceneLoader::None0L'Qt3DRender::QSceneLoader n'a pas encore été utilisé.
Qt3DRender::QSceneLoader::Loading1L'Qt3DRender::QSceneLoader est en train de charger le fichier de scène.
Qt3DRender::QSceneLoader::Ready2L'Qt3DRender::QSceneLoader a chargé le fichier de scène avec succès.
Qt3DRender::QSceneLoader::Error3L'Qt3DRender::QSceneLoader a rencontré une erreur lors du chargement du fichier de scène.

Documentation des propriétés

source : QUrl

Contient l'URL de la source à charger.

Fonctions d'accès :

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

Signal de notification :

void sourceChanged(const QUrl &source)

[read-only] status : Status

Contient l'état du chargement de la scène.

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

Fonctions d'accès :

Qt3DRender::QSceneLoader::Status status() const

Signal Notifier :

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

Voir aussi Qt3DRender::QSceneLoader::Status.

Documentation des fonctions membres

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

Le constructeur crée une instance avec l'parent spécifiée.

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

Renvoie un composant dont la propriété « componentType » correspond à celle d’une entité chargée, et dont le nom (« objectName ») correspond à celui de entityName. Si l’entité comporte plusieurs composants correspondants, c’est le premier élément de la liste des composants de l’entité qui est renvoyé. En l’absence de correspondance, un pointeur null est renvoyé.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

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

Renvoie une entité chargée dont l'objectName correspond au paramètre entityName. Si plusieurs entités portent le même nom, il n'est pas défini laquelle d'entre elles sera renvoyée, mais ce sera toujours la même.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] QStringList QSceneLoader::entityNames() const

Renvoie une liste des « objectNames » des entités chargées.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir 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.