Sur cette page

Qt3DRender::QSceneLoader Class

class Qt3DRender::QSceneLoader

Permet de charger une scène existante. Plus d'informations...

En-tête : #include <QSceneLoader>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : SceneLoader
Hérite : Qt3DCore::QComponent
Statut : Déclassé

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

Étant donné un fichier source 3D, Qt3DRender::QSceneLoader essaiera de l'analyser et de construire un arbre d'objets Qt3DCore::QEntity avec les composants Qt3DRender::QGeometryRenderer, Qt3DCore::QTransform et Qt3DRender::QMaterial appropriés.

Le chargeur essaiera 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'arbre et remplacer les matériaux associés par défaut par les vôtres.

Comme son nom l'indique, Qt3DRender::QSceneLoader charge un sous-arbre complet de la scène. Si vous souhaitez charger un seul morceau de géométrie, vous devriez plutôt utiliser Qt3DRender::QMesh.

Qt3DRender::QSceneLoader internally s'appuie 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 de Qt3DCore::QEntity. Il en résulterait un comportement indéfini.

Voir aussi Qt3DRender::QMesh et Qt3DRender::QGeometryRenderer.

Documentation sur les types de membres

enum QSceneLoader::ComponentType

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

ConstanteValeurDescription du type de composant
Qt3DRender::QSceneLoader::UnknownComponent0Type de composant inconnu
Qt3DRender::QSceneLoader::GeometryRendererComponent1Qt3DRender::QGeometryRenderer composant
Qt3DRender::QSceneLoader::TransformComponent2Qt3DCore::QTransform composant
Qt3DRender::QSceneLoader::MaterialComponent3Qt3DRender::QMaterial composant
Qt3DRender::QSceneLoader::LightComponent4Qt3DRender::QAbstractLight composant
Qt3DRender::QSceneLoader::CameraLensComponent5Qt3DRender::QCameraLens composant

enum QSceneLoader::Status

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

ConstanteValeurDescription de l'état de chargement
Qt3DRender::QSceneLoader::None0Le site Qt3DRender::QSceneLoader n'a pas encore été utilisé.
Qt3DRender::QSceneLoader::Loading1Le Qt3DRender::QSceneLoader est en train de charger le fichier de scène.
Qt3DRender::QSceneLoader::Ready2Le Qt3DRender::QSceneLoader a chargé avec succès le fichier de scène.
Qt3DRender::QSceneLoader::Error3Le Qt3DRender::QSceneLoader a rencontré une erreur lors du chargement du fichier de scène.

Documentation sur les 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

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

Fonctions d'accès :

Qt3DRender::QSceneLoader::Status status() const

Signal de notification :

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

Voir aussi Qt3DRender::QSceneLoader::Status.

Documentation sur les fonctions membres

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

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

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

Renvoie un composant correspondant à componentType d'une entité chargée avec un objectName correspondant à entityName. Si l'entité a plusieurs composants correspondants, le premier composant correspondant dans la liste des composants de l'entité est renvoyé. S'il n'y a pas de correspondance, un pointeur nul est renvoyé.

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

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

Renvoie une entité chargée avec un objectName correspondant au paramètre entityName. Si plusieurs entités portent le même nom, l'entité renvoyée n'est pas définie, mais il s'agit toujours de la même.

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

[invokable] QStringList QSceneLoader::entityNames() const

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

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