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 は、テクスチャに一度だけレンダリングし、その後、レンダリングのために割り当てられたリソースは解放されます。

プロパティ ドキュメント

item : QQuickItem*

QScene2D によってテクスチャにレンダリングされるQQuickItem を保持します。

アクセス関数:

QQuickItem *item() const
void setItem(QQuickItem *item)

通知シグナル:

void itemChanged(QQuickItem *item)

mouseEnabled : bool

レンダリングされたアイテムのマウスイベントが有効かどうかを保持します。マウス イベントは、QScene2D に追加されたエンティティのオブジェクト ピッキング イベントから生成されます。 デフォルトでは、マウスは有効になっています。

注意: バックエンドでオブジェクトピッキングが発生するため、イベントは1フレーム分遅延します。

アクセス関数

bool isMouseEnabled() const
void setMouseEnabled(bool enabled)

通知シグナル:

void mouseEnabledChanged(bool enabled)

output : Qt3DRender::QRenderTargetOutput*

QScene2D のレンダリング先を指定するQRenderTargetOutput を保持する。

アクセス関数:

Qt3DRender::QRenderTargetOutput *output() const
void setOutput(Qt3DRender::QRenderTargetOutput *output)

通知シグナル:

void outputChanged(Qt3DRender::QRenderTargetOutput *output)

renderPolicy : RenderPolicy

この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)

コンストラクタは、指定された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 を削除します。

© 2025 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.