このページでは

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 }

プロパティ

パブリック関数

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::Continuous0Scene2D は継続的にレンダリングを行います。これがデフォルトのレンダリングポリシーです。
Qt3DRender::Quick::QScene2D::SingleShot1Scene2D はテクスチャに対して 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.