这个类使能够将 QML 渲染成纹理,然后可以用作 3D 场景的一部分。 更多...
头: | #include <Qt3DQuickScene2D/QScene2D> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS 3dquickscene2d)
target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d) |
qmake: | QT += 3dquickscene2d |
实例化: | Scene2D |
继承: | Qt3DCore::QNode |
enum | RenderPolicy { Continuous, SingleShot } |
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 ) |
Qt3DRender::Quick::QScene2D::RenderPolicy | renderPolicy () const |
void | setItem (QQuickItem * item ) |
void | setMouseEnabled (bool enabled ) |
void | setOutput (Qt3DRender::QRenderTargetOutput * output ) |
void | setRenderPolicy (Qt3DRender::Quick::QScene2D::RenderPolicy policy ) |
void | itemChanged (QQuickItem * item ) |
void | mouseEnabledChanged (bool enabled ) |
void | outputChanged (Qt3DRender::QRenderTargetOutput * output ) |
void | renderPolicyChanged (Qt3DRender::Quick::QScene2D::RenderPolicy policy ) |
This class uses QQuickRenderControl to render the given QQuickItem into an offscreen surface, which is attached to a texture provided by the user. This allows the component to directly render into the texture without intermediate copy and the user to freely specify how the texture is used in the 3D scene.
The entities using the QScene2D can be associated with the class to enable interaction with the item; if an entity has a QObjectPicker component, the pick events from that picker are sent to the QScene2D and converted to mouse events and finally sent to the item.
注意: Only mouse events are supported. The item does not support keyboard input.
This enum type describes types of render policies available.
常量 | 值 | 描述 |
---|---|---|
Qt3DRender::Quick::QScene2D::Continuous
|
0
|
The Scene2D is rendering continuously. This is the default render policy. |
Qt3DRender::Quick::QScene2D::SingleShot
|
1
|
The Scene2D renders to the texture only once after which the resources allocated for rendering are released. |
保持 QQuickItem , which is rendered by QScene2D 到纹理。
访问函数:
QQuickItem * | item () const |
void | setItem (QQuickItem * item ) |
通知程序信号:
void | itemChanged (QQuickItem * item ) |
Holds whether mouse events are enabled for the rendered item. The mouse events are generated from object picking events of the entities added to the QScene2D . Mouse is enabled by default.
注意: Events are delayed by one frame due to object picking happening in the backend.
访问函数:
bool | isMouseEnabled () const |
void | setMouseEnabled (bool enabled ) |
通知程序信号:
void | mouseEnabledChanged (bool enabled ) |
保持 QRenderTargetOutput , which specifies where the QScene2D is rendering to.
访问函数:
Qt3DRender::QRenderTargetOutput * | output () const |
void | setOutput (Qt3DRender::QRenderTargetOutput * output ) |
通知程序信号:
void | outputChanged (Qt3DRender::QRenderTargetOutput * output ) |
Holds the render policy of this Scene2D .
访问函数:
Qt3DRender::Quick::QScene2D::RenderPolicy | renderPolicy () const |
void | setRenderPolicy (Qt3DRender::Quick::QScene2D::RenderPolicy policy ) |
通知程序信号:
void | renderPolicyChanged (Qt3DRender::Quick::QScene2D::RenderPolicy policy ) |
[explicit]
QScene2D::
QScene2D
(
Qt3DCore::QNode
*
parent
= nullptr)
The constructor creates a new QScene2D instance with the specified parent .
添加 entity to the the QScene2D object. If the entities have QObjectPicker , the pick events from that entity are sent to QScene2D and converted to mouse events.
Retrieve entities associated with the QScene2D .
Removes an entity from the the QScene2D 对象。