Qt3DRender::Quick::QScene2D Class
class Qt3DRender::Quick::QScene2Dこのクラスを使用すると、QMLをテクスチャとしてレンダリングすることができ、そのテクスチャを3Dシーンの一部として利用できます。詳細...
| ヘッダー: | #include <Qt3DQuickScene2D/QScene2D> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dquickscene2d) target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d) |
| qmake: | QT += 3dquickscene2d |
| QML内: | Scene2D |
| 継承元: | Qt3DCore::QNode |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
パブリック型
| enum | RenderPolicy { Continuous, SingleShot } |
プロパティ
- item : QQuickItem*
- mouseEnabled : bool
- output : Qt3DRender::QRenderTargetOutput*
- renderPolicy : RenderPolicy
パブリック関数
| 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) |
詳細な説明
このクラスは、QQuickRenderControl を使用して、指定された `QQuickItem ` をオフスクリーンサーフェスにレンダリングし、それをユーザーが指定したテクスチャにアタッチします。これにより、コンポーネントは中間コピーを行うことなくテクスチャに直接レンダリングでき、ユーザーは 3D シーン内でのテクスチャの使用方法を自由に指定できます。
QScene2D を使用するエンティティをこのクラスに関連付けることで、アイテムとの相互作用が可能になります。エンティティに `QObjectPicker ` コンポーネントがある場合、そのピッカーからのピックイベントは QScene2D に送信され、マウスイベントに変換された後、最終的にアイテムに送信されます。
注: サポートされているのはマウスイベントのみです 。このアイテムはキーボード入力に対応していません。
メンバ型のドキュメント
enum QScene2D::RenderPolicy
この列挙型は、利用可能なレンダリングポリシーの種類を表します。
| 定数 | 値 | 説明 |
|---|---|---|
Qt3DRender::Quick::QScene2D::Continuous | 0 | Scene2D は継続的にレンダリングを行います。これがデフォルトのレンダリングポリシーです。 |
Qt3DRender::Quick::QScene2D::SingleShot | 1 | Scene2D はテクスチャに対して 1 回のみレンダリングを行い、その後、レンダリング用に割り当てられたリソースは解放されます。 |
プロパティのドキュメント
item : QQuickItem*
QQuickItem を保持します。これは、QScene2D によってテクスチャにレンダリングされます。
アクセス関数:
| QQuickItem * | item() const |
| void | setItem(QQuickItem *item) |
通知シグナル:
| void | itemChanged(QQuickItem *item) |
mouseEnabled : bool
レンダリングされたアイテムでマウスイベントが有効かどうかを示します。マウスイベントは、QScene2D に追加されたエンティティのオブジェクトピックイベントから生成されます。デフォルトでは、マウスは有効になっています。
注: オブジェクトの選択処理はバックエンドで行われるため、イベントの発生は 1フレーム遅れます。
アクセス関数:
| bool | isMouseEnabled() const |
| void | setMouseEnabled(bool enabled) |
Notifierシグナル:
| void | mouseEnabledChanged(bool enabled) |
output : Qt3DRender::QRenderTargetOutput*
QScene2D のレンダリング先を指定するQRenderTargetOutputを保持します。
アクセス関数:
| Qt3DRender::QRenderTargetOutput * | output() const |
| void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
Notifierシグナル:
| void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
renderPolicy : RenderPolicy
この Scene2D のレンダリングポリシーを保持します。
アクセス関数:
| Qt3DRender::Quick::QScene2D::RenderPolicy | renderPolicy() const |
| void | setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy) |
Notifierシグナル:
| void | renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy) |
メンバ関数のドキュメント
[explicit] QScene2D::QScene2D(Qt3DCore::QNode *parent = nullptr)
このコンストラクタは、指定されたparent を使用して、新しいQScene2Dインスタンスを作成します。
void QScene2D::addEntity(Qt3DCore::QEntity *entity)
QScene2D オブジェクトにentity を追加します。エンティティがQObjectPickerを持っている場合、そのエンティティからのピックイベントはQScene2D に送信され、マウスイベントに変換されます。
QList<Qt3DCore::QEntity *> QScene2D::entities() const
QScene2D に関連付けられたエンティティを取得します。
void QScene2D::removeEntity(Qt3DCore::QEntity *entity)
QScene2D オブジェクトからentity を削除します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.