Qt3DCore::QNode Class
class Qt3DCore::QNodeQNode 是用于构建 Qt3D 场景的所有 Qt3D 节点类的基类。更多内容...
该类已弃用。我们强烈建议不要在新的代码中使用它。
属性
公共函数
| QNode(Qt3DCore::QNode *parent = nullptr) | |
| bool | blockNotifications(bool block) |
| Qt3DCore::QNodeVector | childNodes() const |
| Qt3DCore::QNodeId | id() const |
| bool | isEnabled() const |
| bool | notificationsBlocked() const |
| Qt3DCore::QNode * | parentNode() const |
公共槽位
| void | setEnabled(bool isEnabled) |
| void | setParent(Qt3DCore::QNode *parent) |
信号
| void | enabledChanged(bool enabled) |
| void | nodeDestroyed() |
| void | parentChanged(QObject *parent) |
相关的非成员项
| QNodePtr | |
| QNodeVector | |
| Qt3DCore::QNodeId | qIdForNode(Qt3DCore::QNode *node) |
| Qt3DCore::QNodeIdVector | qIdsForNodes(const T &nodes) |
详细说明
QNode 的所有权由节点之间的QObject 父子关系决定。QNode 本身没有视觉外观,也没有特定含义,其存在仅是为了构建基于节点的树形结构。
一个 QNode 实例的父节点只能是另一个 QNode 实例。
每个 QNode 实例都有一个唯一的 ID,使其能够与其他实例区分开来。
当在 QNode 子类上定义属性时,其 NOTIFY 信号会自动生成通知,Qt3D 后端组件将接收这些通知。
另请参阅 QEntity 和QComponent 。
属性文档
enabled : bool
保存QNode 的启用标志。默认情况下,QNode 始终处于启用状态。
注意:“ 启用”的具体含义 取决于方面。即使将“启用”设置为false ,某些方面仍可能以某种方式将该节点纳入考虑范围。具体说明请参阅各类的文档。
访问函数:
| bool | isEnabled() const |
| void | setEnabled(bool isEnabled) |
通知器信号:
| void | enabledChanged(bool enabled) |
parent : Qt3DCore::QNode*
保存QNode 的直接父节点;如果该节点没有父节点,则为null。
设置父节点将通知后端方面关于当前QNode 实例的父节点发生变更。
注意:如果 parent 恰好为null,这实际上将通知后端组件,表示当前的QNode 实例已被从场景中移除。
访问函数:
| Qt3DCore::QNode * | parentNode() const |
| void | setParent(Qt3DCore::QNode *parent) |
通知器信号:
| void | parentChanged(QObject *parent) |
成员函数文档
[explicit] QNode::QNode(Qt3DCore::QNode *parent = nullptr)
创建一个父节点为parent 的新 QNode 实例。
注意: 只有当该 QNode 实例具有父节点时,后端组件才会收到通知,表明该实例属于该场景;除非该实例是 Qt3D 场景的根节点。
另请参阅 setParent()。
bool QNode::blockNotifications(bool block)
如果 `block ` 的值为 `true`,则该对象发送给方面(aspects)的属性变更通知将被阻止。如果 `block ` 的值为 `false`,则不会发生此类阻止。
返回值为notificationsBlocked() 的先前值。
请注意,即使该对象的通知已被阻止,其他类型的通知仍会发送。
另请参阅 notificationsBlocked()。
Qt3DCore::QNodeVector QNode::childNodes() const
返回一个列表,其中包含当前 `QNode ` 实例的所有 `QNode ` 子节点。
Qt3DCore::QNodeId QNode::id() const
返回用于唯一标识该QNode 实例的ID。
[signal] void QNode::nodeDestroyed()
在节点被销毁时触发。
bool QNode::notificationsBlocked() const
如果方面通知被阻止,则返回true ;否则返回false 。默认情况下,通知不会被阻止。
另请参阅 blockNotifications()。
相关非成员
[alias] QNodePtr
QNode 的共享指针。
[alias] QNodeVector
QNode 指针列表。
Qt3DCore::QNodeId qIdForNode(Qt3DCore::QNode *node)
返回node 的节点ID。
template <typename T> Qt3DCore::QNodeIdVector qIdsForNodes(const T &nodes)
返回nodes 的节点ID向量。
© 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.