QScene2D Class

class Qt3DRender::Quick::QScene2D

Diese Klasse ermöglicht das Rendern von qml in eine Textur, die dann als Teil einer 3D-Szene verwendet werden kann. Mehr...

Kopfzeile: #include <Qt3DQuickScene2D/QScene2D>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dquickscene2d)
target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d)
qmake: QT += 3dquickscene2d
In QML: Scene2D
Vererbt: Qt3DCore::QNode
Status: Veraltet

Öffentliche Typen

enum RenderPolicy { Continuous, SingleShot }

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

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

Signale

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

Detaillierte Beschreibung

Diese Klasse verwendet QQuickRenderControl, um die angegebene QQuickItem in eine Offscreen-Oberfläche zu rendern, die mit einer vom Benutzer bereitgestellten Textur verbunden ist. Dadurch kann die Komponente direkt in die Textur gerendert werden, ohne eine Zwischenkopie zu erstellen, und der Benutzer kann frei festlegen, wie die Textur in der 3D-Szene verwendet wird.

Die Entitäten, die QScene2D verwenden, können mit der Klasse assoziiert werden, um die Interaktion mit dem Element zu ermöglichen; wenn eine Entität eine QObjectPicker Komponente hat, werden die Pick-Ereignisse von diesem Picker an QScene2D gesendet und in Mausereignisse umgewandelt und schließlich an das Element gesendet.

Hinweis: Es werden nur Mausereignisse unterstützt. Das Element unterstützt keine Tastatureingaben.

Member Type Dokumentation

enum QScene2D::RenderPolicy

Dieser Enum-Typ beschreibt die verfügbaren Arten von Render-Policies.

KonstanteWertBeschreibung
Qt3DRender::Quick::QScene2D::Continuous0Die Scene2D rendert kontinuierlich. Dies ist die Standard-Rendering-Policy.
Qt3DRender::Quick::QScene2D::SingleShot1Scene2D rendert nur einmal auf die Textur, danach werden die für das Rendering zugewiesenen Ressourcen freigegeben.

Dokumentation der Eigenschaft

item : QQuickItem*

Enthält die QQuickItem, die von QScene2D auf die Textur gerendert wird.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void itemChanged(QQuickItem *item)

mouseEnabled : bool

Gibt an, ob Mausereignisse für das gerenderte Element aktiviert sind. Die Mausereignisse werden von den Objektauswahlereignissen der zu QScene2D hinzugefügten Entitäten erzeugt. Die Maus ist standardmäßig aktiviert.

Hinweis: Die Ereignisse werden um einen Frame verzögert, da die Objektauswahl im Backend stattfindet.

Zugriffsfunktionen:

bool isMouseEnabled() const
void setMouseEnabled(bool enabled)

Benachrichtigungssignal:

void mouseEnabledChanged(bool enabled)

output : Qt3DRender::QRenderTargetOutput*

Enthält die QRenderTargetOutput, die angibt, wohin die QScene2D gerendert wird.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void outputChanged(Qt3DRender::QRenderTargetOutput *output)

renderPolicy : RenderPolicy

Enthält die Rendering-Policy dieser Scene2D.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

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

Member Function Dokumentation

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

Der Konstruktor erzeugt eine neue QScene2D-Instanz mit der angegebenen parent.

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

Fügt ein entity zum QScene2D Objekt hinzu. Wenn die Entitäten QObjectPicker haben, werden die Pick-Ereignisse von dieser Entität an QScene2D gesendet und in Mausereignisse umgewandelt.

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

Rufen Sie Entitäten ab, die mit dem QScene2D verbunden sind.

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

Entfernt eine entity aus dem QScene2D Objekt.

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