Q3DScene Class
Die Klasse „Q3DScene“ enthält eine Beschreibung der visualisierten 3D-Szene. Mehr...
| Header: | #include <Q3DScene> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| In QML: | Scene3D |
| Erbt von: | QObject |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Q3DScene ist Teil von „Qt Graphs “ – C++-Klassen für 3D.
Eigenschaften
|
|
Öffentliche Funktionen
| 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 |
Signale
| 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) |
Detaillierte Beschreibung
Die 3D-Szene enthält eine einzige aktive Kamera und eine einzige aktive Lichtquelle. Es wird davon ausgegangen, dass sich die visualisierten Daten an einem festen Ort befinden.
Die 3D-Szene verfolgt außerdem den Viewport, in dem die Grafikdarstellung erfolgt, den primären Subviewport innerhalb des Viewports, in dem sich die Hauptansicht der 3D-Grafiken befindet, sowie den sekundären Subviewport, in dem sich die 2D-Schnittansicht der Daten befindet. Die Größe der Teilansichten wird standardmäßig über die Funktion „ Q3DScene “ angepasst. Um das Verhalten bei der Größenanpassung zu überschreiben, müssen Sie sowohl auf das Signal „ viewportChanged()“ als auch auf das Signal „ slicingActiveChanged()“ abhören und die Teilansichten entsprechend neu berechnen.
Außerdem verfügt die Szene über ein Flag, mit dem verfolgt werden kann, ob die sekundäre 2D-Schnittansicht derzeit aktiv ist oder nicht.
Hinweis: Nicht alle Diagramme unterstützen die sekundäre 2D-Slicing-Ansicht.
Dokumentation der Eigenschaften
devicePixelRatio : qreal
Diese Eigenschaft enthält das Gerätepixelverhältnis, das bei der Zuordnung von Eingabekoordinaten zu Pixelkoordinaten verwendet wird.
Zugriffsfunktionen:
| qreal | devicePixelRatio() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
Benachrichtigungssignal:
| void | devicePixelRatioChanged(qreal pixelRatio) |
graphPositionQuery : QPoint
Diese Eigenschaft enthält die Koordinaten der Benutzereingabe, die von der Szene als Abfrage der Grafikposition verarbeitet werden sollen.
Wenn diese Eigenschaft auf einen anderen Wert als ` invalidSelectionPoint()` gesetzt wird, versucht der Graph, eine Graphposition mit den angegebenen Koordinaten innerhalb des primären Ansichtsfensters abzugleichen. Nach dem Renderdurchlauf wird diese Eigenschaft in ihren Standardzustand ` invalidSelectionPoint()` zurückgesetzt. Die abgefragte Graphposition kann nach dem nächsten Renderdurchlauf über die Eigenschaft ` Q3DGraphsWidgetItem::queriedGraphPosition ` ausgelesen werden.
Da es keine einheitliche korrekte 3D-Koordinate gibt, die einer bestimmten Bildschirmposition entspricht, erfolgen die Abfragen aus Gründen der Konsistenz stets an den Innenseiten eines unsichtbaren Kastens, der das Diagramm umgibt.
Hinweis: BeiBalkendiagrammen sind Abfragen der Diagrammposition nur auf der Diagrammbodenebene zulässig.
Zugriffsfunktionen:
| QPoint | graphPositionQuery() const |
| void | setGraphPositionQuery(QPoint point) |
Notifier-Signal:
| void | graphPositionQueryChanged(QPoint position) |
Siehe auch „ Q3DGraphsWidgetItem::queriedGraphPosition “.
[read-only] invalidSelectionPoint : const QPoint
Diese Eigenschaft enthält einen Punkt, der eine ungültige Auswahlposition darstellt.
Zugriffsfunktionen:
| QPoint | invalidSelectionPoint() const |
primarySubViewport : QRect
Diese Eigenschaft enthält das Rechteck des aktuellen Teilansichtsbereichs innerhalb des Ansichtsbereichs, auf den die Hauptansicht der Diagramme ausgerichtet ist.
Wenn der primäre Teilansichtsbereich nicht explizit festgelegt wurde, beträgt er ein Fünftel von ` viewport()`.
Hinweis: Wird `primarySubViewport` größer als der Viewport oder außerhalb desselbenfestgelegt , wird der Viewport entsprechend angepasst.
Zugriffsfunktionen:
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(QRect primarySubViewport) |
Notifier-Signal:
| void | primarySubViewportChanged(QRect subViewport) |
secondarySubViewport : QRect
Diese Eigenschaft enthält das Rechteck des sekundären Ansichtsbereichs innerhalb des Ansichtsbereichs.
Der sekundäre Ansichtsbereich wird in einigen Diagrammen zum Zeichnen der 2D-Schnittansicht verwendet. Wenn er nicht explizit festgelegt wurde, entspricht er der Größe des Ansichtsbereichs.
Hinweis: Ist der sekundäre Teil-Ansichtsbereich größer als der Ansichtsbereich oder liegt er außerhalb desselben, wird der Ansichtsbereich entsprechend angepasst.
Zugriffsfunktionen:
| QRect | secondarySubViewport() const |
| void | setSecondarySubViewport(QRect secondarySubViewport) |
Benachrichtigungssignal:
| void | secondarySubViewportChanged(QRect subViewport) |
secondarySubviewOnTop : bool
Diese Eigenschaft legt fest, ob die 2D-Schnittansicht oder die 3D-Ansicht im Vordergrund dargestellt wird.
Zugriffsfunktionen:
| bool | isSecondarySubviewOnTop() const |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
Benachrichtigungssignal:
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
selectionQueryPosition : QPoint
Diese Eigenschaft enthält die Koordinaten der Benutzereingabe, die von der Szene als Auswahl verarbeitet werden soll.
Wenn diese Eigenschaft auf einen anderen Wert als „ invalidSelectionPoint()“ gesetzt ist, versucht das Diagramm, ein Datenelement, eine Achsenbeschriftung oder ein benutzerdefiniertes Element an den angegebenen Koordinaten innerhalb des primären Ansichtsfensters auszuwählen. Nach dem Rendering-Durchlauf wird die Eigenschaft wieder auf ihren Standardzustand „ invalidSelectionPoint()“ zurückgesetzt.
Zugriffsfunktionen:
| QPoint | selectionQueryPosition() const |
| void | setSelectionQueryPosition(QPoint point) |
Notifier-Signal:
| void | selectionQueryPositionChanged(QPoint position) |
Siehe auch „ Q3DGraphsWidgetItem::selectedElement “.
slicingActive : bool
Diese Eigenschaft gibt an, ob die 2D-Slicing-Ansicht derzeit aktiv ist.
Wenn „ true “ gesetzt ist, muss für „ Q3DGraphsWidgetItem::selectionMode “ entweder „ QtGraphs3D::SelectionFlag::Row “ oder „ QtGraphs3D::SelectionFlag::Column “ auf eine gültige Auswahl gesetzt sein.
Hinweis: Nicht alle Diagramme unterstützen die 2D-Slicing-Ansicht.
Zugriffsfunktionen:
| bool | isSlicingActive() const |
| void | setSlicingActive(bool isSlicing) |
Benachrichtigungssignal:
| void | slicingActiveChanged(bool isSlicingActive) |
[read-only] viewport : QRect
Diese Eigenschaft enthält eine schreibgeschützte Eigenschaft, die das aktuelle Ansichtsfenster-Rechteck angibt, auf das die gesamte 3D-Darstellung ausgerichtet ist.
Zugriffsfunktionen:
| QRect | viewport() const |
Notifier-Signal:
| void | viewportChanged(QRect viewport) |
Dokumentation der Member-Funktionen
[explicit] Q3DScene::Q3DScene(QObject *parent = nullptr)
Erstellt eine einfache Szene mit einer Lichtquelle und einer Kamera. Ein optionaler Parameter „ parent “ kann angegeben werden und wird dann an den Konstruktor von „ QObject “ übergeben.
[override virtual noexcept] Q3DScene::~Q3DScene()
Löscht die 3D-Szene und alle darin enthaltenen Objekte.
QPoint Q3DScene::invalidSelectionPoint() const
Gibt einen ` QPoint ` zurück, der eine ungültige Auswahlposition anzeigt.
Hinweis: Getter -Funktion für die Eigenschaft „invalidSelectionPoint“.
bool Q3DScene::isPointInPrimarySubView(QPoint point)
Gibt zurück, ob sich der angegebene Punkt „ point “ innerhalb der primären Unteransicht befindet oder nicht. Gibt „ true “ zurück, wenn sich der Punkt innerhalb der primären Unteransicht befindet.
Hinweis: Wenn sich Unteransichten überlagern und der angegebene „ point “ in beiden enthalten ist, ist das Ergebnis nur dann „ true “, wenn sich die primäre Unteransicht oberste.
bool Q3DScene::isPointInSecondarySubView(QPoint point)
Gibt zurück, ob sich der angegebene Punkt „ point “ innerhalb der sekundären Unteransicht befindet oder nicht. Gibt „ true “ zurück, wenn sich der Punkt innerhalb der sekundären Unteransicht befindet.
Hinweis: Wenn sich Unteransichten überlagern und der angegebene Punkt „ point “ in beiden liegt, ist das Ergebnis nur dann „ true “, wenn sich die sekundäre Unteransicht obenauf befindet.
© 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.