Qt3DRender::QLayer Class

class Qt3DRender::QLayer

QLayer 类提供了一种筛选将被渲染的实体的方法。更多

Header: #include <QLayer>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
在 QML 中: Layer
继承: Qt3DCore::QComponent
状态:已废弃

属性

公共功能

QLayer(Qt3DCore::QNode *parent = nullptr)
bool recursive() const
void setRecursive(bool recursive)

信号

详细说明

Qt3DRender::QLayer 与 FrameGraph 中的 结合使用。Qt3DRender::QLayerFilter

通过将递归属性设置为 true,可以将 QLayer 应用于实体的子树。

 #include <Qt3DCore/QEntity>
 #include <Qt3DRender/QGeometryRenderer>
 #include <Qt3DRender/QLayer>
 #include <Qt3DRender/QLayerFilter>
 #include <Qt3DRender/QViewport>

// Scene
Qt3DCore::QEntity *rootEntity = new Qt3DCore::Qt3DCore::QEntity;

Qt3DCore::QEntity *renderableEntity = new Qt3DCore::Qt3DCore::QEntity(rootEntity);
Qt3DRender::QGeometryRenderer *geometryRenderer = new Qt3DCore::QGeometryRenderer(renderableEntity);
Qt3DRender::QLayer *layer1 = new Qt3DCore::QLayer(renderableEntity);
layer1->setRecursive(true);
renderableEntity->addComponent(geometryRenderer);
renderableEntity->addComponent(layer1);

...

// FrameGraph
Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport;
Qt3DRender::QLayerFilter *layerFilter = new Qt3DRender::QLayerFilter(viewport);
layerFilter->addLayer(layer1);

...

另请参阅 Qt3DRender::QLayerFilter

属性文档

recursive : bool

指定图层是否也应用于实体子树。

访问功能:

bool recursive() const
void setRecursive(bool recursive)

Notifier 信号:

void recursiveChanged()

成员函数 文档

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

使用指定的parent 构建一个新的 QLayer。

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