QEntity 类

class Qt3DCore::QEntity

Qt3DCore::QEntity 是一个 Qt3DCore::QNode 子类,可以聚合多个 Qt3DCore::QComponent 实例来指定其行为。 更多...

头文件 #include <QEntity>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmakeQT += 3dcore
实例化自 实体
继承自 Qt3DCore::QNode
继承自

Qt3DExtras::QAbstractCameraController, Qt3DExtras::QSkyboxEntity, Qt3DExtras::QText2DEntity, 和 Qt3DRender::QCamera

公共函数

QEntity(Qt3DCore::QNode *parent = nullptr)
voidaddComponent(Qt3DCore::QComponent *comp)
Qt3DCore::QComponentVectorcomponents() const
QList<T *>componentsOfType() const
Qt3DCore::QEntity *parentEntity() const
voidremoveComponent(Qt3DCore::QComponent *comp)

详细描述

作为一个简单的 Qt3DCore::QEntity 只是空的壳子。 Qt3DCore::QEntity 对象的行为由它引用的 Qt3DCore::QComponent 对象定义。每个 Qt3D 后端方面都将能够通过识别它由哪些组件组成来解释和处理 Entity。一个方面可能只处理由单个 Qt3DCore::QTransform 组件组成的实体,而另一方面可能专注于 Qt3DInput::QMouseHandler

另请参阅 Qt3DCore::QComponentQt3DCore::QTransform

成员函数说明

[显式] QEntity::QEntity(Qt3DCore::QNode *parent = nullptr)

parent 作为父对象构建一个新的 Qt3DCore::QEntity 实例。

void QEntity::addComponent(Qt3DCore::QComponent *comp)

向组件 comp 添加一个新的引用。

注意:如果 Qt3DCore::QComponent 没有父组件,则 Qt3DCore::QEntity 将自己设置为它的父组件,从而拥有该组件。

Qt3DCore::QComponentVector QEntity::components() const

返回该实体引用的 Qt3DCore::QComponent 实例列表。

template <typename T> QList<T *> QEntity::componentsOfType() const

返回添加到此实体的所有可以转换为类型 T 的组件,如果没有这样的组件,则返回空向量。

Qt3DCore::QEntity *QEntity::parentEntity() const

返回此实体的父 Qt3DCore::QEntity 实例。如果直接父组件不是一个 Qt3DCore::QEntity,则此函数将遍历场景层次结构,直到找到一个父 Qt3DCore::QEntity。如果没有找到父 Qt3DCore::QEntity,则返回 null。

void QEntity::removeComponent(Qt3DCore::QComponent *comp)

删除对 comp 的引用。

相关非成员

[alias] QComponentVector

QComponent 指针列表。

© 2024 The Qt Company Ltd. 本文档中的贡献是非专利权拥有者的版权。提供的文档是在自由软件基金会发布并由其发布的 GNU 自由文档许可证版本 1.3 条件下允许的。Qt 和相应的徽标是 The Qt Company Ltd. 在芬兰和/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。