QScene2D 类
class Qt3DRender::Quick::QScene2D这个类允许将 qml 渲染到纹理中,然后将纹理作为 3D 场景的一部分使用。《更多...》
头文件 | #include <Qt3DQuickScene2D/QScene2D> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3dquickscene2d) target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d) |
qmake | QT += 3dquickscene2d |
实例化自 | Scene2D |
继承自 | Qt3DCore::QNode |
公共类型
枚举 | RenderPolicy { Continuous, SingleShot } |
属性
- item : QQuickItem*
- mouseEnabled : bool
- output : Qt3DRender::QRenderTargetOutput*
- renderPolicy : RenderPolicy
公共函数
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 |
公共槽函数
void | setItem(QQuickItem *item) |
void | setMouseEnabled(bool enabled) |
void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
void | setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy) |
信号
void | itemChanged(QQuickItem *item) |
void | mouseEnabledChanged(bool enabled) |
void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
void | renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy) |
详细描述
此类使用QQuickRenderControl将给定的QQuickItem渲染到用户提供的离屏表面上,该表面附加到纹理。这允许组件直接将纹理渲染进去,而无需中间复制,并允许用户自由指定在3D场景中对纹理的使用方式。
使用QScene2D的实体可以关联到该类,以启用与项目的交互;如果实体具有QObjectPicker组件,则从该拾取器发出的拾取事件将被发送到QScene2D,并转换为鼠标事件,最终发送到项目。
注意:仅支持鼠标事件。项目不支持键盘输入。
属性文档
item : QQuickItem*
包含由QScene2D渲染到纹理的QQuickItem。
访问函数
QQuickItem * | item() const |
void | setItem(QQuickItem *item) |
通知信号
void | itemChanged(QQuickItem *item) |
mouseEnabled : bool
包含是否为渲染的项目启用鼠标事件。鼠标事件是从添加到QScene2D的实体对象的拾取事件生成的。默认启用鼠标事件。
注意:由于后端发生对象拾取,事件会延迟一帧。
访问函数
bool | isMouseEnabled() const |
void | setMouseEnabled(bool enabled) |
通知信号
void | mouseEnabledChanged(bool enabled) |
output : Qt3DRender::QRenderTargetOutput*
包含指定QScene2D渲染到的QRenderTargetOutput。
访问函数
Qt3DRender::QRenderTargetOutput * | output() const |
void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
通知信号
void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
renderPolicy : RenderPolicy
包含Scene2D的渲染策略。
访问函数
Qt3DRender::Quick::QScene2D::RenderPolicy | renderPolicy() const |
void | setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy) |
通知信号
void | renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy) |
成员函数文档
[显式]
QScene2D::QScene2D(Qt3DCore::QNode *parent = nullptr)
构造函数创建了一个新的具有指定parent的QScene2D实例。
void QScene2D::addEntity(Qt3DCore::QEntity *entity)
向QScene2D对象添加一个实体。如果实体具有QObjectPicker,则从该实体发出的选择事件将被发送到QScene2D并转换为鼠标事件。
QList<Qt3DCore::QEntity *> QScene2D::entities() const
检索与QScene2D关联的实体。
void QScene2D::removeEntity(Qt3DCore::QEntity *entity)
从QScene2D对象中删除一个实体。
© 2024 The Qt Company Ltd. 内部包含的文档贡献者是各自所有者的版权。提供的文档使用GNU自由文档许可协议版本1.3许可,由自由软件基金会发布。Qt和相关标志是The Qt Company Ltd在芬兰和/或世界其他国家的商标。所有其他商标均为各自所有者的财产。