Класс QScene2D
класс Qt3DRender::Quick::QScene2DЭтот класс позволяет рендерить qml в текстуру, которая затем может быть использована как часть 3D сцены. Подробнее...
| Заголовок: | #include <Qt3DQuickScene2D/QScene2D> |
| CMake: | find_package(Qt6 COMPONENTS 3dquickscene2d REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d) |
| qmake: | QT += 3dquickscene2d |
| С момента: | Qt 5.9 |
| Создается из: | Scene2D |
| Наследуется от: | Qt3DCore::QNode |
Типы Public
| Перечисление | RenderPolicy { Continuous, SingleShot } |
Свойства
- item : QQuickItem*
- mouseEnabled : bool
- output : Qt3DRender::QRenderTargetOutput*
- renderPolicy : RenderPolicy
Public Функции
| QScene2D(Qt3DCore::QNode *parent = nullptr) | |
| void | addEntity(Qt3DCore::QEntity *entity) |
| QList<Qt3DCore::QEntity *> | entities() const |
| bool | isMouseEnabled() const |
| QQuickItem * | item() const |
| Qt3DRender::QRenderTargetOutput * | output() const |
| void | removeEntity(Qt3DCore::QEntity *entity) |
| QScene2D::RenderPolicy | renderPolicy() const |
Public Слот
| void | setItem(QQuickItem *item) |
| void | setMouseEnabled(bool enabled) |
| void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
| void | setRenderPolicy(QScene2D::RenderPolicy policy) |
Сигналы
| void | itemChanged(QQuickItem *item) |
| void | mouseEnabledChanged(bool enabled) |
| void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
| void | renderPolicyChanged(QScene2D::RenderPolicy policy) |
Подробное описание
Этот класс использует QQuickRenderControl для рендеринга заданного QQuickItem в офскрин-поверхность, которая прикреплена к текстуре, предоставленной пользователем. Это позволяет компоненту напрямую рендерить в текстуру без промежуточного копирования и пользователю свободно указывать, как используется текстура в 3D сцене.
Сущности, использующие QScene2D, могут быть связаны с классом, чтобы включить взаимодействие с элементом; если сущность имеет компонент QObjectPicker, события выбора от этого пикера отправляются в QScene2D, преобразуются в события мыши и, наконец, отправляются в элемент.
Примечание: Поддерживаются только события мыши. Элемент не поддерживает ввод с клавиатуры.
Документация по типам членов
перечисление QScene2D::RenderPolicy
Это перечисление типов политик рендеринга, доступных.
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::Quick::QScene2D::Continuous |
0 |
QScene2D рендерится непрерывно. Это политика рендеринга по умолчанию. |
Qt3DRender::Quick::QScene2D::SingleShot |
1 |
QScene2D рендерится в текстуру только один раз, после чего ресурсы, выделенные для рендеринга, освобождаются. |
Документация по свойствам
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 : RenderPolicy
Содержит политику рендеринга QScene2D.
Функции доступа:
| 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 и преобразуются в события мыши.
QList<Qt3DCore::QEntity *> QScene2D::entities() const
Получить сущности, связанные с 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-6.1/qt3drender-quick-qscene2d.html