Класс QNode
(Qt3DCore::QNode)QNode — базовый класс всех классов узлов Qt3D, используемых для построения сцены Qt3D. Подробнее...
| Заголовок: | #include <QNode> |
| qmake: | QT += 3dcore |
| С тех пор: | Qt 5.5 |
| Наследует: | QObject |
| Наследуется для: | Qt3DCore::QComponent, Qt3DCore::QEntity, Qt3DInput::QAbstractPhysicalDevice, Qt3DInput::QAction, Qt3DInput::QActionInput, Qt3DInput::QAxis, Qt3DInput::QAxisInput, Qt3DInput::QAxisSetting, Qt3DInput::QLogicalDevice, Qt3DRender::QAbstractAttribute, Qt3DRender::QAbstractBuffer, Qt3DRender::QAbstractTextureImage, Qt3DRender::QAbstractTextureProvider, Qt3DRender::QAnnotation, Qt3DRender::QFrameGraphNode, Qt3DRender::QGeometry и Qt3DRender::QParameterMapping |
Свойства
- 1 свойство унаследовано от QObject
Открытые функции
| QNode(QNode *parent = Q_NULLPTR) | |
| virtual | ~QNode() |
| bool | blockNotifications(bool block) |
| QNodeList | childrenNodes() const |
| const QNodeId | id() const |
| bool | isEnabled() const |
| bool | notificationsBlocked() const |
| QNode * | parentNode() const |
- 31 открытая функция унаследована от QObject
Открытые слоты
| void | setEnabled(bool isEnabled) |
| virtual void | setParent(QNode *parent) |
- 1 открытый слот унаследован от QObject
Сигналы
| void | enabledChanged(bool enabled) |
| void | parentChanged(QObject *parent) |
- 2 сигнала унаследованы от QObject
Защищенные функции
| void | cleanup() |
| virtual void | copy(const QNode *ref) |
| virtual void | sceneChangeEvent(const QSceneChangePtr &change) |
- 9 защищенных функций унаследованы от QObject
Статические защищенные члены
| QNode * | clone(QNode *node) |
Связанные нечлены
| typedef | QNodeList |
| typedef | QNodePtr |
Дополнительные унаследованные члены
- 11 статических публичных членов унаследованы от QObject
Подробное описание
QNode — базовый класс всех классов узлов Qt3D, используемых для построения сцены Qt3D.
Владение QNode определяется отношением «родитель/дочерний» QObject между узлами. Сам по себе QNode не имеет визуального представления и не имеет особого смысла; он служит для построения древовидной структуры узлов.
Родитель экземпляра QNode может быть только другим экземпляром QNode.
Каждый экземпляр QNode имеет уникальный идентификатор, позволяющий его различать от других экземпляров.
Когда свойства определены в подклассе QNode, их сигнал NOTIFY автоматически генерирует уведомления, которые будут получены аспектами Qt3D.
При наследовании от QNode, убедитесь, что вызываете QNode::cleanup() из деструктора вашего подкласса, чтобы обеспечить надлежащее уведомление аспектов back-end. Отсутствие этого приведет к сбоям при уничтожении экземпляра подкласса QNode.
См. также QEntity и QComponent.
Документация свойств
enabled : bool
Функции доступа:
| bool | isEnabled() const |
| void | setEnabled(bool isEnabled) |
Сигнал уведомителя:
| void | enabledChanged(bool enabled) |
parent : Qt3DCore::QNode *
Функции доступа:
| QNode * | parentNode() const |
| virtual void | setParent(QNode *parent) |
Сигнал уведомителя:
| void | parentChanged(QObject *parent) |
Документация по функциям-членам
QNode::QNode(QNode *parent = Q_NULLPTR)
Создаёт новый экземпляр QNode с родителем parent.
Примечание: Аспекты back-end будут уведомлены о том, что экземпляр QNode является частью сцены, только если у него есть родитель; если это не корневой узел сцены Qt3D.
См. также setParent().
[virtual] QNode::~QNode()
Уничтожает экземпляр QNode. Деструктор виртуальный.
bool QNode::blockNotifications(bool block)
Если block равно true, уведомления об изменении свойств, отправляемые этим объектом аспектам, блокируются. Если block равно false, такого блокирования не происходит.
Возвращаемое значение — предыдущее значение notificationsBlocked().
Обратите внимание, что другие типы уведомлений будут отправлены, даже если уведомления для этого объекта были заблокированы.
См. также notificationsBlocked().
QNodeList QNode::childrenNodes() const
Возвращает список QNode дочерних узлов текущего экземпляра QNode.
[protected] void QNode::cleanup()
Этот метод можно вызвать только один раз, и он позаботится о том, чтобы уведомить бэкенд-аспекты о том, что текущий экземпляр Qt3DCore::QNode собирается быть уничтожен.
Примечание: Он должен вызываться деструктором каждого класса, являющегося подклассом QNode, который клонируется (с помощью макроса QT3D_CLONEABLE).
[static protected] QNode *QNode::clone(QNode *node)
Возвращает клонированный экземпляр node. Все дочерние элементы node также будут клонированы.
Примечание: Это единственный способ создать два узла с одинаковым идентификатором.
[virtual protected] void QNode::copy(const QNode *ref)
Копирует все атрибуты из ref в текущий экземпляр Qt3DCore::QNode.
Примечание: При создании подкласса QNode необходимо переопределить этот метод и всегда вызывать метод copy базового класса. Это гарантирует, что при клонировании QNode будет правильно инициализирован.
const QNodeId QNode::id() const
Возвращает идентификатор, уникально определяющий экземпляр QNode.
bool QNode::isEnabled() const
Возвращает, включён ли QNode или нет.
Примечание: Метод-получатель для свойства enabled.
bool QNode::notificationsBlocked() const
Возвращает true если уведомления об аспектах заблокированы; в противном случае возвращает false. По умолчанию уведомления не заблокированы.
См. также blockNotifications().
QNode *QNode::parentNode() const
Возвращает непосредственного родительского QNode, или null, если у узла нет родителя.
Примечание: Метод-получатель для свойства parent.
[virtual protected] void QNode::sceneChangeEvent(const QSceneChangePtr &change)
[slot] void QNode::setEnabled(bool isEnabled)
Устанавливает QNode в состояние включения, если isEnabled равно true. По умолчанию QNode всегда включён.
Примечание: Интерпретация того, что означает «включён», зависит от аспекта. Даже если enabled установлено в false, некоторые аспекты могут по-прежнему рассматривать узел каким-то образом. Это документируется для каждого класса.
Примечание: Метод-установщик для свойства enabled.
См. также isEnabled().
[virtual slot] void QNode::setParent(QNode *parent)
Устанавливает родительский узел текущего экземпляра QNode в parent. Установка родителя уведомит бэкенд-аспекты об изменении родителя текущего экземпляра QNode.
Примечание: Если parent равен null, это фактически уведомит о том, что текущий экземпляр QNode был удалён из сцены.
Примечание: Метод-установщик для свойства parent.
Связанные нечлены
typedef Qt3DCore::QNodeList
Список указателей на QNode.
typedef Qt3DCore::QNodePtr
Умный указатель для QNode.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qt3dcore-qnode.html