Auf dieser Seite

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

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.