Класс QNode
(Qt3DCore::QNode)QNode — базовый класс всех классов узлов Qt3D, используемых для построения сцены Qt3D. Подробнее...
Открытые типы
| Перечисление | PropertyTrackingMode { TrackFinalValues, DontTrackValues, TrackAllValues } |
Свойства
- defaultPropertyTrackingMode : PropertyTrackingMode
- enabled : bool
- parent : Qt3DCore::QNode *
- 1 свойство унаследовано от QObject
Открытые функции
| QNode(QNode *parent = nullptr) | |
| bool | blockNotifications(bool block) |
| QNodeVector | childNodes() const |
| void | clearPropertyTracking(const QString &propertyName) |
| void | clearPropertyTrackings() |
| PropertyTrackingMode | defaultPropertyTrackingMode() const |
| QNodeId | id() const |
| bool | isEnabled() const |
| bool | notificationsBlocked() const |
| QNode * | parentNode() const |
| PropertyTrackingMode | propertyTracking(const QString &propertyName) const |
| void | setPropertyTracking(const QString &propertyName, PropertyTrackingMode trackMode) |
- 32 открытых функции унаследованы от QObject
Открытые слоты
| void | setDefaultPropertyTrackingMode(PropertyTrackingMode mode) |
| void | setEnabled(bool isEnabled) |
| void | setParent(QNode *parent) |
- 1 открытый слот унаследован от QObject
Сигналы
| void | defaultPropertyTrackingModeChanged(PropertyTrackingMode mode) |
| void | enabledChanged(bool enabled) |
| void | nodeDestroyed() |
| void | parentChanged(QObject *parent) |
- 2 сигнала унаследованы от QObject
Защищенные функции
| void | notifyObservers(const QSceneChangePtr &change) |
| virtual void | sceneChangeEvent(const QSceneChangePtr &change) |
- 9 защищенных функций унаследованы от QObject
Связанные нечлены
| typedef | QNodePtr |
| typedef | QNodeVector |
| QNodeId | qIdForNode(QNode *node) |
| QNodeIdVector | qIdsForNodes(const T &nodes) |
Дополнительные унаследованные члены
- 11 статических открытых членов унаследованы от QObject
Подробное описание
QNode — базовый класс всех классов узлов Qt3D, используемых для построения сцены Qt3D.
Владение QNode определяется отношением родитель/ребенок QObject между узлами. Сам по себе QNode не имеет визуального представления и не имеет определенного смысла; он служит для построения древовидной структуры узлов.
Родителем экземпляра QNode может быть только другой экземпляр QNode.
Каждый экземпляр QNode имеет уникальный идентификатор, который позволяет различать его от других экземпляров.
Когда свойства определены для подкласса QNode, их сигнал NOTIFY автоматически генерирует уведомления, которые будут получены аспектами Qt3D backend.
См. также QEntity и QComponent.
Документация по типу члена
Перечисление QNode::PropertyTrackingMode
Документация по свойствам
defaultPropertyTrackingMode : PropertyTrackingMode
Содержит режим отслеживания свойств по умолчанию, определяющий, должна ли QNode следить за обновлениями свойств. Это относится только к свойствам, которые не были переопределены вызовом setPropertyTracking.
По умолчанию он установлен в QNode::TrackFinalValues
Функции доступа:
| PropertyTrackingMode | defaultPropertyTrackingMode() const |
| void | setDefaultPropertyTrackingMode(PropertyTrackingMode mode) |
Сигнал уведомления:
| void | defaultPropertyTrackingModeChanged(PropertyTrackingMode mode) |
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 был удалён из сцены.
Функции доступа:
| QNode * | parentNode() const |
| void | setParent(QNode *parent) |
Сигнал уведомления:
| void | parentChanged(QObject *parent) |
Документация по членам-функциям
QNode::QNode(QNode *parent = nullptr)
Создаёт новый экземпляр QNode с родителем parent.
Примечание: бэкенд-аспекты будут уведомлены о том, что экземпляр QNode является частью сцены только если у него есть родитель; если это не корневой узел сцены Qt3D.
См. также setParent().
bool QNode::blockNotifications(bool block)
Если block true, уведомления о изменении свойств, отправляемые этим объектом аспектам, заблокированы. Если block false, такой блокировки не произойдёт.
Возвращаемое значение — предыдущее значение notificationsBlocked().
Обратите внимание, что другие типы уведомлений будут отправлены, даже если уведомления для этого объекта были заблокированы.
См. также notificationsBlocked().
QNodeVector QNode::childNodes() const
Возвращает список, заполненный дочерними QNode текущего экземпляра QNode.
void QNode::clearPropertyTracking(const QString &propertyName)
void QNode::clearPropertyTrackings()
QNodeId QNode::id() const
Возвращает идентификатор, который однозначно идентифицирует экземпляр QNode.
[signal] void QNode::nodeDestroyed()
вызывается, когда узел уничтожен.
bool QNode::notificationsBlocked() const
Возвращает true если уведомления аспектов заблокированы; в противном случае возвращает false. По умолчанию уведомления не заблокированы.
См. также blockNotifications().
[protected] void QNode::notifyObservers(const QSceneChangePtr &change)
Отправляет QSceneChangePtr change любым QBackendNodes в зарегистрированных аспектах, которые соответствуют этому QNode.
В общем случае изменения свойства QObject, QNode обрабатывает это автоматически, отправляя событие QPropertyUpdatedChange в бэкенд-узлы. Вам нужно вызывать эту функцию только если вы хотите отправить определённый тип изменения вместо автоматической обработки.
PropertyTrackingMode QNode::propertyTracking(const QString &propertyName) const
См. также setPropertyTracking().
[virtual protected] void QNode::sceneChangeEvent(const QSceneChangePtr &change)
Вызывается, когда один или несколько бэкенд-аспектов отправляют уведомление change текущему экземпляру Qt3DCore::QNode.
Примечание: Этот метод должен быть переопределён в ваших подклассах для правильной обработки change.
void QNode::setPropertyTracking(const QString &propertyName, PropertyTrackingMode trackMode)
См. также propertyTracking().
Связанные нечлены
typedef Qt3DCore::QNodePtr
Указатель на общий ресурс для QNode.
typedef Qt3DCore::QNodeVector
Список указателей на QNode.
QNodeId Qt3DCore::qIdForNode(QNode *node)
Возвращает идентификатор узла для node.
QNodeIdVector Qt3DCore::qIdsForNodes(const T &nodes)
Возвращает вектор идентификаторов узлов для nodes.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3dcore-qnode.html