Класс QScene2D
(Qt3DRender::Quick::QScene2D)Этот класс позволяет рендерить qml в текстуру, которая затем может быть использована как часть 3D-сцены. Подробнее...
| Заголовок: | #include <QScene2D> |
| qmake: | QT += 3dquickscene2d |
| С тех пор: | Qt 5.9 |
| Инициализируется из: | Scene2D |
| Наследуется от: | Qt3DCore::QNode |
Типы публичного доступа
| перечисление | RenderPolicy { Continuous, SingleShot } |
Свойства
- item : QQuickItem *
- mouseEnabled : bool
- output : Qt3DRender::QRenderTargetOutput *
- renderPolicy : QScene2D::RenderPolicy
- 3 свойства унаследованы от Qt3DCore::QNode
- 1 свойство унаследовано от QObject
Публичные функции
| QScene2D(Qt3DCore::QNode *parent = nullptr) | |
| void | addEntity(Qt3DCore::QEntity *entity) |
| QVector<Qt3DCore::QEntity *> | entities() |
| bool | isMouseEnabled() const |
| QQuickItem * | item() const |
| Qt3DRender::QRenderTargetOutput * | output() const |
| void | removeEntity(Qt3DCore::QEntity *entity) |
| QScene2D::RenderPolicy | renderPolicy() const |
- 11 public functions inherited from Qt3DCore::QNode
- 32 public functions inherited from QObject
Публичные слоты
| void | setItem(QQuickItem *item) |
| void | setMouseEnabled(bool enabled) |
| void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
| void | setRenderPolicy(QScene2D::RenderPolicy policy) |
- 3 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
Сигналы
| void | itemChanged(QQuickItem *item) |
| void | mouseEnabledChanged(bool enabled) |
| void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
| void | renderPolicyChanged(QScene2D::RenderPolicy policy) |
- 4 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Дополнительные унаследованные члены
- 11 статических public членов, унаследованных от QObject
- 2 protected функции, унаследованные от Qt3DCore::QNode
- 9 protected функций, унаследованных от QObject
Подробное описание
Этот класс позволяет рендерить qml в текстуру, которая затем может быть использована как часть 3D-сцены.
Этот класс использует QQuickRenderControl для рендеринга заданного QQuickItem в оффскрин-поверхность, которая прикреплена к текстуре, предоставленной пользователем. Это позволяет компоненту напрямую рендерить в текстуру без промежуточной копии, а пользователю свободно определять, как текстура используется в 3D-сцене.
Сущности, использующие QScene2D, могут быть связаны с классом для обеспечения взаимодействия с элементом; если сущность имеет компонент QObjectPicker, события выбора от этого пикера отправляются в QScene2D и преобразуются в события мыши, которые, в конечном итоге, отправляются элементу.
Документация типов членов
перечисление QScene2D::RenderPolicy
Это перечисление описывает типы доступных политик рендеринга.
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::Quick::QScene2D::Continuous |
0 |
Компонент Scene2D рендерится непрерывно. Это политика рендеринга по умолчанию. |
Qt3DRender::Quick::QScene2D::SingleShot |
1 |
Компонент Scene2D рендерится в текстуру только один раз, после чего ресурсы, выделенные для рендеринга, освобождаются. |
Документация по свойствам
item : QQuickItem *
Содержит QQuickItem, который отрисовывается QScene2D на текстуру.
Функции доступа:
| QQuickItem * | item() const |
| void | setItem(QQuickItem *item) |
Сигнал уведомления:
| void | itemChanged(QQuickItem *item) |
mouseEnabled : bool
Указывает, разрешены ли события мыши для отрисовываемого элемента. События мыши генерируются из событий выбора объектов добавленных в QScene2D. События мыши включены по умолчанию.
Примечание: События задерживаются на один кадр, так как выбор объектов происходит в фоновом режиме.
Функции доступа:
| bool | isMouseEnabled() const |
| void | setMouseEnabled(bool enabled) |
Сигнал уведомления:
| void | mouseEnabledChanged(bool enabled) |
output : Qt3DRender::QRenderTargetOutput *
Содержит QRenderTargetOutput, который определяет, куда QScene2D производит отрисовку.
Функции доступа:
| Qt3DRender::QRenderTargetOutput * | output() const |
| void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
Сигнал уведомления:
| void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
renderPolicy : QScene2D::RenderPolicy
Содержит политику отрисовки для данного Scene2D.
Функции доступа:
| QScene2D::RenderPolicy | renderPolicy() const |
| void | setRenderPolicy(QScene2D::RenderPolicy policy) |
Сигнал уведомления:
| void | renderPolicyChanged(QScene2D::RenderPolicy policy) |
Документация по членам-функциям
QScene2D::QScene2D(Qt3DCore::QNode *parent = nullptr)
Конструктор создаёт новый экземпляр QScene2D со указанным parent.
void QScene2D::addEntity(Qt3DCore::QEntity *entity)
Добавляет entity в объект QScene2D. Если у объектов есть QObjectPicker, события выбора из этого объекта отправляются в QScene2D и преобразуются в события мыши.
QVector<Qt3DCore::QEntity *> QScene2D::entities()
Возвращает объекты, связанные с QScene2D.
void QScene2D::removeEntity(Qt3DCore::QEntity *entity)
Удаляет entity из объекта QScene2D.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3drender-quick-qscene2d.html