QtGraphs3D Namespace

Das QtGraphs3D Modul stellt Enums zur Verfügung, die von QtGraphs' 3D API verwendet werden. Mehr...

Kopfzeile: #include <QtGraphs3D>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs

Typen

enum class CameraPreset { NoPreset, FrontLow, Front, FrontHigh, LeftLow, …, DirectlyBelow }
enum class ElementType { None, Series, AxisXLabel, AxisYLabel, AxisZLabel, CustomItem }
enum class GridLineType { Shader, Geometry }
enum class OptimizationHint { Default, Legacy }
enum class RenderingMode { DirectToBackground, Indirect }
enum class SelectionFlag { None, Item, Row, ItemAndRow, Column, …, MultiSeries }
flags SelectionFlags
enum class ShadowQuality { None, Low, Medium, High, SoftLow, …, SoftHigh }

Funktionen

(until 6.9) QSurfaceFormat qDefaultSurfaceFormat(bool antialias)

Detaillierte Beschreibung

Typ-Dokumentation

enum class QtGraphs3D::CameraPreset

Vordefinierte Positionen für die Kamera.

KonstanteWertBeschreibung
QtGraphs3D::CameraPreset::NoPreset0Wird verwendet, um anzuzeigen, dass eine Voreinstellung nicht festgelegt wurde oder die Szene frei gedreht wurde.
QtGraphs3D::CameraPreset::FrontLow1Sowohl die x- als auch die y-Drehung der Kamera sind 0.
QtGraphs3D::CameraPreset::Front2Die X-Drehung ist 0 und die Y-Drehung ist 22,5 Grad.
QtGraphs3D::CameraPreset::FrontHigh3Die X-Drehung ist 0 und die Y-Drehung beträgt 45 Grad.
QtGraphs3D::CameraPreset::LeftLow4Die X-Drehung ist 90 und die Y-Drehung ist 0 Grad.
QtGraphs3D::CameraPreset::Left5Die X-Drehung ist 90 und die Y-Drehung ist 22,5 Grad.
QtGraphs3D::CameraPreset::LeftHigh6Die X-Drehung ist 90 und die Y-Drehung ist 45 Grad.
QtGraphs3D::CameraPreset::RightLow7Die X-Drehung ist -90 und die Y-Drehung ist 0 Grad.
QtGraphs3D::CameraPreset::Right8Die X-Drehung ist -90 und die Y-Drehung ist 22,5 Grad.
QtGraphs3D::CameraPreset::RightHigh9Die X-Drehung ist -90 und die Y-Drehung ist 45 Grad.
QtGraphs3D::CameraPreset::BehindLow10Die X-Drehung ist 180 und die Y-Drehung ist 0 Grad.
QtGraphs3D::CameraPreset::Behind11Die X-Drehung ist 180 und die Y-Drehung ist 22,5 Grad.
QtGraphs3D::CameraPreset::BehindHigh12Die X-Drehung ist 180 und die Y-Drehung ist 45 Grad.
QtGraphs3D::CameraPreset::IsometricLeft13Die X-Drehung ist 45 und die Y-Drehung ist 22,5 Grad.
QtGraphs3D::CameraPreset::IsometricLeftHigh14Die X-Drehung ist 45 und die Y-Drehung ist 45 Grad.
QtGraphs3D::CameraPreset::IsometricRight15Die X-Drehung ist -45 und die Y-Drehung ist 22,5 Grad.
QtGraphs3D::CameraPreset::IsometricRightHigh16Die X-Drehung ist -45 und die Y-Drehung ist 45 Grad.
QtGraphs3D::CameraPreset::DirectlyAbove17Die X-Drehung ist 0 und die Y-Drehung ist 90 Grad.
QtGraphs3D::CameraPreset::DirectlyAboveCW4518Die X-Drehung ist -45 und die Y-Drehung ist 90 Grad.
QtGraphs3D::CameraPreset::DirectlyAboveCCW4519Die X-Drehung ist 45 und die Y-Drehung ist 90 Grad.
QtGraphs3D::CameraPreset::FrontBelow20Die X-Drehung ist 0 und die Y-Drehung ist -45 Grad. In Q3DBarsWidgetItem ab FrontBelow funktionieren diese nur für Graphen mit negativen Werten. Für rein positive Werte verhalten sie sich wie CameraPreset...Low.
QtGraphs3D::CameraPreset::LeftBelow21X-Drehung ist 90 und y-Drehung ist -45 Grad.
QtGraphs3D::CameraPreset::RightBelow22X-Rotation ist -90 und y-Rotation ist -45 Grad.
QtGraphs3D::CameraPreset::BehindBelow23X-Rotation ist 180 und y-Rotation ist -45 Grad.
QtGraphs3D::CameraPreset::DirectlyBelow24Die X-Drehung ist 0 und die Y-Drehung ist -90 Grad. Wirkt wie FrontLow für nur positive Takte.

enum class QtGraphs3D::ElementType

Typ eines Elements im Diagramm.

KonstanteWertBeschreibung
QtGraphs3D::ElementType::None0Kein definiertes Element.
QtGraphs3D::ElementType::Series1Ein Element in einer Serie.
QtGraphs3D::ElementType::AxisXLabel2Die Beschriftung der x-Achse.
QtGraphs3D::ElementType::AxisYLabel3Die Beschriftung der y-Achse.
QtGraphs3D::ElementType::AxisZLabel4Die Beschriftung der z-Achse.
QtGraphs3D::ElementType::CustomItem5Ein benutzerdefiniertes Element.

enum class QtGraphs3D::GridLineType

KonstanteWertBeschreibung
QtGraphs3D::GridLineType::Shader0Rasterlinien werden mit der GPU in einem Shader gerendert.
QtGraphs3D::GridLineType::Geometry1Gitternetzlinien werden mit 3D-Modellen gerendert.

enum class QtGraphs3D::OptimizationHint

Der Optimierungshinweis für das Rendering.

KonstanteWertBeschreibung
QtGraphs3D::OptimizationHint::Default0Bietet den vollen Funktionsumfang mit Instanzierung bei guter Leistung.
QtGraphs3D::OptimizationHint::Legacy1Bietet den vollen Funktionsumfang mit einer angemessenen Leistung. Wird verwendet, wenn OptimizationHint.Default eine schlechte Leistung erbringt oder nicht funktioniert.

enum class QtGraphs3D::RenderingMode

KonstanteWertBeschreibung
QtGraphs3D::RenderingMode::DirectToBackground0Gibt an, dass das Diagramm direkt auf dem Fensterhintergrund gerendert wird und QML-Elemente darüber gerendert werden. Wird ein nicht-transparentes QML-Element als Hintergrund verwendet, wird das Diagramm ausgeblendet. Löscht das gesamte Fenster vor dem Rendering des Graphen, einschließlich der Bereiche außerhalb des Graphen. Wenn das Oberflächenformat des Fensters Antialiasing unterstützt, wird es verwendet (siehe QQuick3D::idealSurfaceFormat()). Dieser Rendering-Modus bietet die beste Leistung auf Kosten eines nicht standardmäßigen QML-Verhaltens. Zum Beispiel befolgen die Graphen nicht die z-Reihenfolge der QML-Elemente und der Opazitätswert hat keinen Einfluss auf sie.
QtGraphs3D::RenderingMode::Indirect1Zeigt an, dass das Diagramm zunächst auf eine Oberfläche außerhalb des Bildschirms gerendert wird, die dann während des normalen Renderings der QML-Elemente gezeichnet wird. Das gerenderte Bild wird mithilfe der Multisampling-Methode antialiasing, wenn diese in der aktuellen Umgebung unterstützt wird und der Eigenschaftswert msaaSamples größer als Null ist. Dieser Rendering-Modus bietet gute Qualität und normales QML-Elementverhalten auf Kosten der Leistung.

enum class QtGraphs3D::SelectionFlag
flags QtGraphs3D::SelectionFlags

Modi der Elementauswahl. Die Werte dieser Aufzählung können mit dem OR-Operator kombiniert werden.

KonstanteWertBeschreibung
QtGraphs3D::SelectionFlag::None0x00Auswahlmodus deaktiviert.
QtGraphs3D::SelectionFlag::Item0x01Auswahl hebt ein einzelnes Element hervor.
QtGraphs3D::SelectionFlag::Row0x02Auswahl hebt eine einzelne Zeile hervor.
QtGraphs3D::SelectionFlag::ItemAndRowItem | RowKombinationsflag für die Hervorhebung von Artikel und Zeile mit unterschiedlichen Farben.
QtGraphs3D::SelectionFlag::Column0x04Auswahl hebt eine einzelne Spalte hervor.
QtGraphs3D::SelectionFlag::ItemAndColumnItem | ColumnKombinationsflag für die Hervorhebung von Artikel und Spalte mit unterschiedlichen Farben.
QtGraphs3D::SelectionFlag::RowAndColumnRow | ColumnKombinationsflag für die Hervorhebung von Zeile und Spalte.
QtGraphs3D::SelectionFlag::ItemRowAndColumnItem | Row | ColumnKombinationsflag für die Hervorhebung von Element, Zeile und Spalte.
QtGraphs3D::SelectionFlag::Slice0x08Wenn Sie dieses Modus-Flag setzen, soll das Diagramm die Handhabung der Slice-Ansicht automatisch übernehmen. Wenn Sie die Slice-Ansicht selbst über Q3DScene steuern möchten, setzen Sie dieses Flag nicht. Wenn Sie diesen Modus-Flag setzen, muss entweder Row oder Column gesetzt sein, aber nicht beide. Slicing wird nur von Q3DBarsWidgetItem und Q3DSurfaceWidgetItem unterstützt. Wenn dieses Flag gesetzt ist, wird der Slice-Modus in den folgenden Situationen aktiviert:
  • Wenn die Auswahl explizit über die Serien-API auf ein sichtbares Element geändert wird
  • Wenn die Auswahl durch Klicken auf das Diagramm geändert wird
  • Wenn sich der Auswahlmodus ändert und das ausgewählte Element sichtbar ist
QtGraphs3D::SelectionFlag::MultiSeries0x10Die Einstellung dieses Modus bedeutet, dass die Elemente für alle Reihen an derselben Position hervorgehoben werden und nicht nur das ausgewählte Element. Die tatsächliche Auswahl in den anderen Reihen ändert sich nicht. Wenn Sie dieses Modusflag setzen, müssen auch eines oder mehrere der Grundauswahlflags (Item, Row oder Column) gesetzt sein. Die Multiserienauswahl wird für Q3DScatterWidgetItem nicht unterstützt.

Der Typ SelectionFlags ist ein Typedef für QFlags<SelectionFlag>. Er speichert eine ODER-Kombination von SelectionFlag-Werten.

enum class QtGraphs3D::ShadowQuality

Qualität des Schattens.

KonstanteWertBeschreibung
QtGraphs3D::ShadowQuality::None0Schatten sind deaktiviert.
QtGraphs3D::ShadowQuality::Low1Schatten werden in niedriger Qualität gerendert.
QtGraphs3D::ShadowQuality::Medium2Schatten werden in mittlerer Qualität gerendert.
QtGraphs3D::ShadowQuality::High3Schatten werden in hoher Qualität gerendert.
QtGraphs3D::ShadowQuality::SoftLow4Schatten werden in niedriger Qualität mit abgeschwächten Kanten gerendert.
QtGraphs3D::ShadowQuality::SoftMedium5Schatten werden in mittlerer Qualität mit abgeschwächten Rändern gerendert.
QtGraphs3D::ShadowQuality::SoftHigh6Schatten werden in hoher Qualität mit abgeschwächten Rändern gerendert.

Dokumentation der Funktion

[until 6.9] QSurfaceFormat qDefaultSurfaceFormat(bool antialias)

Diese Funktion soll in Version 6.9 veraltet sein.

QQuick3D::idealSurfaceFormat verwenden ()

Mit dieser Funktion kann ein benutzerdefiniertes Oberflächenformat erstellt werden, das für die Verwendung in Qt Graphs Graphen geeignet ist.

Der Parameter antialias gibt an, ob Antialiasing aktiviert ist oder nicht.

Übergeben Sie das von dieser Funktion zurückgegebene Oberflächenformat an den Graphkonstruktor (C++) oder setzen Sie es als Fensterformat für QQuickView (QML), bevor Sie show() aufrufen.

Deaktivieren Sie zum Beispiel Antialiasing bei C++-Anwendungen:

#include <QtGraphs/qutils.h>

// ...

QSurfaceFormat::setDefaultFormat(qDefaultSurfaceFormat(true));

Aktivieren Sie z. B. Antialiasing für direkte Rendering-Modi in QML-Anwendungen:

#include <QtGraphs/qutils.h>

// ...

QQuickView viewer;
viewer.setFormat(qDefaultSurfaceFormat(true));

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