Q3DScene Class
Q3DScene クラスは、表示されている 3D シーンに関する情報を提供します。詳細...
| ヘッダー: | #include <Q3DScene> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| QML内: | Scene3D |
| 継承元: | QObject |
- 継承されたメンバーを含むすべてのメンバーの一覧
- Q3DSceneは、Qt Graphs の3D用C++クラスの一部です。
プロパティ
|
|
パブリック関数
| Q3DScene(QObject *parent = nullptr) | |
| virtual | ~Q3DScene() override |
| qreal | devicePixelRatio() const |
| QPoint | graphPositionQuery() const |
| QPoint | invalidSelectionPoint() const |
| bool | isPointInPrimarySubView(QPoint point) |
| bool | isPointInSecondarySubView(QPoint point) |
| bool | isSecondarySubviewOnTop() const |
| bool | isSlicingActive() const |
| QRect | primarySubViewport() const |
| QRect | secondarySubViewport() const |
| QPoint | selectionQueryPosition() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
| void | setGraphPositionQuery(QPoint point) |
| void | setPrimarySubViewport(QRect primarySubViewport) |
| void | setSecondarySubViewport(QRect secondarySubViewport) |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
| void | setSelectionQueryPosition(QPoint point) |
| void | setSlicingActive(bool isSlicing) |
| QRect | viewport() const |
シグナル
| void | devicePixelRatioChanged(qreal pixelRatio) |
| void | graphPositionQueryChanged(QPoint position) |
| void | primarySubViewportChanged(QRect subViewport) |
| void | secondarySubViewportChanged(QRect subViewport) |
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
| void | selectionQueryPositionChanged(QPoint position) |
| void | slicingActiveChanged(bool isSlicingActive) |
| void | viewportChanged(QRect viewport) |
詳細な説明
3D シーンには、1 台のアクティブなカメラと 1 つのアクティブな光源が含まれています。可視化されるデータは、固定された位置にあるものと想定されます。
また、3D シーンは、グラフのレンダリングが行われるビューポート、メインの 3D グラフビューが配置されるビューポート内のプライマリサブビューポート、およびデータの 2D スライスビューが配置されるセカンダリサブビューポートを追跡します。 サブビューポートのサイズ変更は、デフォルトではQ3DScene によって行われます。このサイズ変更の挙動を上書きするには、viewportChanged()とslicingActiveChanged()の両方のシグナルをリッスンし、それに応じてサブビューポートを再計算する必要があります。
また、シーンには、セカンダリ 2D スライスビューが現在アクティブかどうかを追跡するためのフラグがあります。
注: すべてのグラフがセカンダリ2Dスライシングビューをサポートしているわけではありません 。
プロパティのドキュメント
devicePixelRatio : qreal
このプロパティには、入力座標をピクセル座標に変換する際に使用されるデバイスピクセル比が格納されます。
アクセス関数:
| qreal | devicePixelRatio() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
通知信号:
| void | devicePixelRatioChanged(qreal pixelRatio) |
graphPositionQuery : QPoint
このプロパティには、シーンがグラフの位置クエリとして処理すべきユーザー入力の座標が格納されます。
このプロパティがinvalidSelectionPoint()以外の値に設定されている場合、グラフはプライマリビューポート内の指定された座標とグラフ上の位置を照合しようとします。レンダリングパス終了後、このプロパティはデフォルト状態のinvalidSelectionPoint()に戻ります。照合されたグラフ上の位置は、次のレンダリングパス終了後にQ3DGraphsWidgetItem::queriedGraphPosition プロパティから読み取ることができます。
特定の画面位置に対応する「唯一の正しい」3D座標は存在しないため、一貫性を保つために、クエリは常にグラフを囲む見えないボックスの内側を基準に行われます。
注:棒 グラフでは、グラフの床面レベルでのみグラフ位置のクエリが可能です。
アクセス関数:
| QPoint | graphPositionQuery() const |
| void | setGraphPositionQuery(QPoint point) |
通知シグナル:
| void | graphPositionQueryChanged(QPoint position) |
Q3DGraphsWidgetItem::queriedGraphPositionも参照してください 。
[read-only] invalidSelectionPoint : const QPoint
このプロパティには、無効な選択位置を表す点が格納されています。
アクセス関数:
| QPoint | invalidSelectionPoint() const |
primarySubViewport : QRect
このプロパティは、グラフのプライマリビューが対象となるビューポート内の、現在のサブビューポートの矩形を保持します。
プライマリ・サブビューポートが明示的に設定されていない場合、そのサイズは `viewport()` の 5 分の 1 になります。
注: primarySubViewport をビューポートより大きく設定したり 、ビューポートの外側に設定したりすると 、ビューポートのサイズがそれに応じて変更されます。
アクセス関数:
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(QRect primarySubViewport) |
Notifier シグナル:
| void | primarySubViewportChanged(QRect subViewport) |
secondarySubViewport : QRect
このプロパティは、ビューポート内のセカンダリ・ビューポートの矩形を保持します。
セカンダリビューポートは、一部のグラフで 2D スライスビューを描画するために使用されます。明示的に設定されていない場合、ビューポートのサイズと同じになります。
注: セカンダリ・サブビューポートがビューポートよりも大きい場合や ビューポートの外側にある場合 、ビューポートはそれに応じてサイズ変更されます。
アクセス関数:
| QRect | secondarySubViewport() const |
| void | setSecondarySubViewport(QRect secondarySubViewport) |
通知シグナル:
| void | secondarySubViewportChanged(QRect subViewport) |
secondarySubviewOnTop : bool
このプロパティは、2Dスライスビューと3Dビューのどちらが上に描画されるかを決定します。
アクセス関数:
| bool | isSecondarySubviewOnTop() const |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
通知シグナル:
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
selectionQueryPosition : QPoint
このプロパティには、シーンによって選択として処理されるべきユーザー入力の座標が格納されます。
このプロパティが `invalidSelectionPoint()` 以外の値に設定されている場合、グラフはプライマリビューポート内の指定された座標にあるデータ項目、軸ラベル、またはカスタム項目を選択しようとします。レンダリング処理が終了すると、このプロパティはデフォルト状態の `invalidSelectionPoint()` に戻ります。
アクセス関数:
| QPoint | selectionQueryPosition() const |
| void | setSelectionQueryPosition(QPoint point) |
通知シグナル:
| void | selectionQueryPositionChanged(QPoint position) |
関連項目: Q3DGraphsWidgetItem::selectedElement 。
slicingActive : bool
このプロパティは、2Dスライスビューが現在アクティブであるかどうかを表します。
true の場合、Q3DGraphsWidgetItem::selectionMode には、QtGraphs3D::SelectionFlag::Row またはQtGraphs3D::SelectionFlag::Column のいずれかが有効な選択として設定されている必要があります。
注: すべてのグラフが2Dスライスビューに対応しているわけではありません 。
アクセス関数:
| bool | isSlicingActive() const |
| void | setSlicingActive(bool isSlicing) |
通知信号:
| void | slicingActiveChanged(bool isSlicingActive) |
[read-only] viewport : QRect
このプロパティは、すべての3Dレンダリングの対象となる現在のビューポートの矩形を含む、読み取り専用のプロパティです。
アクセス関数:
| QRect | viewport() const |
通知シグナル:
| void | viewportChanged(QRect viewport) |
メンバ関数のドキュメント
[explicit] Q3DScene::Q3DScene(QObject *parent = nullptr)
1つのライトと1つのカメラを含む基本的なシーンを構築します。オプションのparent パラメータを指定することができ、その場合はQObject のコンストラクタに渡されます。
[override virtual noexcept] Q3DScene::~Q3DScene()
3Dシーンと、その中に含まれるすべてのオブジェクトを削除します。
QPoint Q3DScene::invalidSelectionPoint() const
無効な選択位置を示すQPoint を返します。
注: プロパティ `invalidSelectionPoint`のゲッター 関数です。
bool Q3DScene::isPointInPrimarySubView(QPoint point)
指定されたpoint がプライマリサブビュー内にあるかどうかを返します。その点がプライマリサブビュー内にある場合は、true を返します。
注: サブビューが重なり合っており、指定されたpoint が両方のサブビュー内に存在する場合 、プライマリサブビューが最前面にある場合にのみ、結果はtrue となります。
bool Q3DScene::isPointInSecondarySubView(QPoint point)
指定されたpoint がセカンダリサブビュー内に存在するかどうかを返します。その点がセカンダリサブビュー内にある場合は、true を返します。
注: サブビューが重なっている場合 、指定されたpoint が両方のサブビュー内に存在する場合でも、結果がtrue となるのは、セカンダリサブビューが上にある場合のみです。
© 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.