Sur cette page

Qt3DRender::Quick::QScene2D Class

class Qt3DRender::Quick::QScene2D

Cette classe permet de rendre qml dans une texture, qui peut ensuite être utilisée comme élément d'une scène 3D. Plus d'informations...

En-tête : #include <Qt3DQuickScene2D/QScene2D>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3dquickscene2d)
target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d)
qmake : QT += 3dquickscene2d
En QML : Scene2D
Hérite : Qt3DCore::QNode
Statut : Déclassé

Types publics

enum RenderPolicy { Continuous, SingleShot }

Propriétés

Fonctions publiques

QScene2D(Qt3DCore::QNode *parent = nullptr)
void addEntity(Qt3DCore::QEntity *entity)
QList<Qt3DCore::QEntity *> entities() const
bool isMouseEnabled() const
QQuickItem *item() const
Qt3DRender::QRenderTargetOutput *output() const
void removeEntity(Qt3DCore::QEntity *entity)
Qt3DRender::Quick::QScene2D::RenderPolicy renderPolicy() const

Emplacements publics

void setItem(QQuickItem *item)
void setMouseEnabled(bool enabled)
void setOutput(Qt3DRender::QRenderTargetOutput *output)
void setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

Signaux

void itemChanged(QQuickItem *item)
void mouseEnabledChanged(bool enabled)
void outputChanged(Qt3DRender::QRenderTargetOutput *output)
void renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

Description détaillée

Cette classe utilise QQuickRenderControl pour effectuer le rendu de la page QQuickItem dans une surface hors écran, qui est attachée à une texture fournie par l'utilisateur. Cela permet au composant d'effectuer un rendu direct dans la texture sans copie intermédiaire et à l'utilisateur de spécifier librement la manière dont la texture est utilisée dans la scène 3D.

Les entités utilisant QScene2D peuvent être associées à la classe pour permettre l'interaction avec l'élément ; si une entité possède un composant QObjectPicker, les événements de sélection de ce sélecteur sont envoyés à QScene2D et convertis en événements de souris, puis envoyés à l'élément.

Remarque : seuls les événements de souris sont pris en charge. L'élément ne prend pas en charge la saisie au clavier.

Documentation sur les types de membres

enum QScene2D::RenderPolicy

Ce type d'énumération décrit les types de politiques de rendu disponibles.

ConstanteValeurDescription
Qt3DRender::Quick::QScene2D::Continuous0Le site Scene2D effectue un rendu continu. Il s'agit de la politique de rendu par défaut.
Qt3DRender::Quick::QScene2D::SingleShot1Le site Scene2D n'effectue le rendu de la texture qu'une seule fois, après quoi les ressources allouées au rendu sont libérées.

Documentation sur les propriétés

item : QQuickItem*

Contient le fichier QQuickItem, qui est rendu par QScene2D dans la texture.

Fonctions d'accès :

QQuickItem *item() const
void setItem(QQuickItem *item)

Signal de notification :

void itemChanged(QQuickItem *item)

mouseEnabled : bool

Indique si les événements souris sont activés pour l'élément rendu. Les événements souris sont générés par les événements de prélèvement d'objets des entités ajoutées à l'adresse QScene2D. La souris est activée par défaut.

Remarque : les événements sont retardés d'une image en raison de la sélection des objets dans le backend.

Fonctions d'accès :

bool isMouseEnabled() const
void setMouseEnabled(bool enabled)

Signal de notification :

void mouseEnabledChanged(bool enabled)

output : Qt3DRender::QRenderTargetOutput*

Contient l'adresse QRenderTargetOutput, qui spécifie l'endroit où l'adresse QScene2D est rendue.

Fonctions d'accès :

Qt3DRender::QRenderTargetOutput *output() const
void setOutput(Qt3DRender::QRenderTargetOutput *output)

Signal de notification :

void outputChanged(Qt3DRender::QRenderTargetOutput *output)

renderPolicy : RenderPolicy

Contient la politique de rendu de ce site Scene2D.

Fonctions d'accès :

Qt3DRender::Quick::QScene2D::RenderPolicy renderPolicy() const
void setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

Signal du notificateur :

void renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

Fonction membre Documentation

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

Le constructeur crée une nouvelle instance de QScene2D avec l'adresse parent.

void QScene2D::addEntity(Qt3DCore::QEntity *entity)

Ajoute un entity à l'objet QScene2D. Si les entités ont QObjectPicker, les événements de sélection de cette entité sont envoyés à QScene2D et convertis en événements de souris.

QList<Qt3DCore::QEntity *> QScene2D::entities() const

Récupérer les entités associées à l'adresse QScene2D.

void QScene2D::removeEntity(Qt3DCore::QEntity *entity)

Supprime un entity de l'objet QScene2D.

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