QAbstract3DGraph Class

Die Klasse QAbstract3DGraph bietet ein Fenster und eine Rendering-Schleife für Graphen. Mehr...

Kopfzeile: #include <QAbstract3DGraph>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
Erbt: QWindow und QOpenGLFunctions (geschützt)
Geerbt von:

Q3DBars, Q3DScatter, und Q3DSurface

Öffentliche Typen

(since QtDataVisualization 1.1) enum ElementType { ElementNone, ElementSeries, ElementAxisXLabel, ElementAxisYLabel, ElementAxisZLabel, ElementCustomItem }
(since Qt Data Visualization 1.1) enum OptimizationHint { OptimizationDefault, OptimizationStatic }
flags OptimizationHints
enum SelectionFlag { SelectionNone, SelectionItem, SelectionRow, SelectionItemAndRow, SelectionColumn, …, SelectionMultiSeries }
flags SelectionFlags
enum ShadowQuality { ShadowQualityNone, ShadowQualityLow, ShadowQualityMedium, ShadowQualityHigh, ShadowQualitySoftLow, …, ShadowQualitySoftHigh }

Eigenschaften

Öffentliche Funktionen

virtual ~QAbstract3DGraph()
QAbstract3DInputHandler *activeInputHandler() const
Q3DTheme *activeTheme() const
(since QtDataVisualization 1.1) int addCustomItem(QCustom3DItem *item)
void addInputHandler(QAbstract3DInputHandler *inputHandler)
void addTheme(Q3DTheme *theme)
qreal aspectRatio() const
void clearSelection()
qreal currentFps() const
(since QtDataVisualization 1.2) QList<QCustom3DItem *> customItems() const
bool hasContext() const
(since 6.3) bool hasSeries(QAbstract3DSeries *series) const
qreal horizontalAspectRatio() const
QList<QAbstract3DInputHandler *> inputHandlers() const
bool isOrthoProjection() const
bool isPolar() const
bool isReflection() const
QLocale locale() const
qreal margin() const
bool measureFps() const
QAbstract3DGraph::OptimizationHints optimizationHints() const
QVector3D queriedGraphPosition() const
float radialLabelOffset() const
qreal reflectivity() const
(since QtDataVisualization 1.1) void releaseCustomItem(QCustom3DItem *item)
void releaseInputHandler(QAbstract3DInputHandler *inputHandler)
void releaseTheme(Q3DTheme *theme)
(since QtDataVisualization 1.1) void removeCustomItem(QCustom3DItem *item)
(since QtDataVisualization 1.1) void removeCustomItemAt(const QVector3D &position)
(since QtDataVisualization 1.1) void removeCustomItems()
(since QtDataVisualization 1.1) QImage renderToImage(int msaaSamples = 0, const QSize &imageSize = QSize())
Q3DScene *scene() const
(since QtDataVisualization 1.1) QAbstract3DAxis *selectedAxis() const
(since QtDataVisualization 1.1) QCustom3DItem *selectedCustomItem() const
(since QtDataVisualization 1.1) int selectedCustomItemIndex() const
QAbstract3DGraph::ElementType selectedElement() const
(since QtDataVisualization 1.1) int selectedLabelIndex() const
QAbstract3DGraph::SelectionFlags selectionMode() const
void setActiveInputHandler(QAbstract3DInputHandler *inputHandler)
void setActiveTheme(Q3DTheme *theme)
void setAspectRatio(qreal ratio)
void setHorizontalAspectRatio(qreal ratio)
void setLocale(const QLocale &locale)
void setMargin(qreal margin)
void setMeasureFps(bool enable)
void setOptimizationHints(QAbstract3DGraph::OptimizationHints hints)
void setOrthoProjection(bool enable)
void setPolar(bool enable)
void setRadialLabelOffset(float offset)
void setReflection(bool enable)
void setReflectivity(qreal reflectivity)
void setSelectionMode(QAbstract3DGraph::SelectionFlags mode)
void setShadowQuality(QAbstract3DGraph::ShadowQuality quality)
QAbstract3DGraph::ShadowQuality shadowQuality() const
virtual bool shadowsSupported() const
QList<Q3DTheme *> themes() const

Signale

void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler)
void activeThemeChanged(Q3DTheme *theme)
void aspectRatioChanged(qreal ratio)
void currentFpsChanged(qreal fps)
void horizontalAspectRatioChanged(qreal ratio)
void localeChanged(const QLocale &locale)
void marginChanged(qreal margin)
void measureFpsChanged(bool enabled)
void optimizationHintsChanged(QAbstract3DGraph::OptimizationHints hints)
void orthoProjectionChanged(bool enabled)
void polarChanged(bool enabled)
void queriedGraphPositionChanged(const QVector3D &data)
void radialLabelOffsetChanged(float offset)
void reflectionChanged(bool enabled)
void reflectivityChanged(qreal reflectivity)
void selectedElementChanged(QAbstract3DGraph::ElementType type)
void selectionModeChanged(QAbstract3DGraph::SelectionFlags mode)
void shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality)
QSurfaceFormat qDefaultSurfaceFormat(bool antialias)

Detaillierte Beschreibung

Diese Klasse ist eine Unterklasse von QWindow und bietet eine Rendering-Schleife für Graphen, die sie erben.

Sie sollten diese Klasse nicht direkt verwenden, sondern stattdessen eine ihrer Unterklassen.

Anti-Aliasing ist in C++ standardmäßig aktiviert, außer in OpenGL ES2-Umgebungen, wo Anti-Aliasing von Qt Data Visualization nicht unterstützt wird. Um ein nicht standardmäßiges Anti-Aliasing für ein Diagramm festzulegen, geben Sie ein benutzerdefiniertes Oberflächenformat als Konstruktorparameter an. Sie können die Komfortfunktion qDefaultSurfaceFormat() verwenden, um das Oberflächenformatobjekt zu erstellen.

Hinweis: QAbstract3DGraph setzt das Fensterflag Qt::FramelessWindowHint standardmäßig ein. Wenn Sie Diagrammfenster als eigenständige Fenster mit normalem Fensterrahmen anzeigen möchten, deaktivieren Sie dieses Flag nach der Erstellung des Diagramms. Ein Beispiel:

Q3DBars *graphWindow = new Q3DBars;
graphWindow->setFlags(graphWindow->flags() ^ Qt::FramelessWindowHint);

Siehe auch Q3DBars, Q3DScatter, Q3DSurface, und Qt Data Visualization C++ Classes.

Dokumentation der Mitgliedstypen

[since QtDataVisualization 1.1] enum QAbstract3DGraph::ElementType

Typ eines Elements im Diagramm.

KonstanteWertBeschreibung
QAbstract3DGraph::ElementNone0Kein definiertes Element.
QAbstract3DGraph::ElementSeries1Eine Reihe (d. h. ein Element in einer Reihe).
QAbstract3DGraph::ElementAxisXLabel2Die Beschriftung der x-Achse.
QAbstract3DGraph::ElementAxisYLabel3Die Beschriftung der y-Achse.
QAbstract3DGraph::ElementAxisZLabel4Die Beschriftung der z-Achse.
QAbstract3DGraph::ElementCustomItem5Ein benutzerdefiniertes Element.

Diese Aufzählung wurde in QtDataVisualization 1.1 eingeführt.

[since Qt Data Visualization 1.1] enum QAbstract3DGraph::OptimizationHint
flags QAbstract3DGraph::OptimizationHints

Der Optimierungshinweis für das Rendering.

KonstanteWertBeschreibung
QAbstract3DGraph::OptimizationDefault0Bietet den vollen Funktionsumfang bei angemessener Leistung.
QAbstract3DGraph::OptimizationStatic1Optimiert das Rendering von statischen Datensätzen auf Kosten einiger Funktionen.

Dieses Enum wurde in Qt Data Visualization 1.1 eingeführt.

Der Typ OptimizationHints ist ein Typedef für QFlags<OptimizationHint>. Er speichert eine OR-Kombination von OptimizationHint-Werten.

enum QAbstract3DGraph::SelectionFlag
flags QAbstract3DGraph::SelectionFlags

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

KonstanteWertBeschreibung
QAbstract3DGraph::SelectionNone0Auswahlmodus deaktiviert.
QAbstract3DGraph::SelectionItem1Auswahl hebt ein einzelnes Element hervor.
QAbstract3DGraph::SelectionRow2Auswahl hebt eine einzelne Zeile hervor.
QAbstract3DGraph::SelectionItemAndRowSelectionItem | SelectionRowKombinationsflag für die Hervorhebung von Artikel und Zeile mit unterschiedlichen Farben.
QAbstract3DGraph::SelectionColumn4Auswahl hebt eine einzelne Spalte hervor.
QAbstract3DGraph::SelectionItemAndColumnSelectionItem | SelectionColumnKombinationsflag für die Hervorhebung von Artikel und Spalte mit unterschiedlichen Farben.
QAbstract3DGraph::SelectionRowAndColumnSelectionRow | SelectionColumnKombinationsflag für die Hervorhebung von Zeile und Spalte.
QAbstract3DGraph::SelectionItemRowAndColumnSelectionItem | SelectionRow | SelectionColumnKombinationsflag für die Hervorhebung von Element, Zeile und Spalte.
QAbstract3DGraph::SelectionSlice8Wenn 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 SelectionRow oder SelectionColumn gesetzt sein, aber nicht beide. Slicing wird nur von Q3DBars und Q3DSurface 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
QAbstract3DGraph::SelectionMultiSeries16Die 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 (SelectionItem, SelectionRow oder SelectionColumn) gesetzt sein. Die Multiserienauswahl wird für Q3DScatter nicht unterstützt.

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

enum QAbstract3DGraph::ShadowQuality

Qualität des Schattens.

KonstanteWertBeschreibung
QAbstract3DGraph::ShadowQualityNone0Schatten sind deaktiviert.
QAbstract3DGraph::ShadowQualityLow1Schatten werden in niedriger Qualität gerendert.
QAbstract3DGraph::ShadowQualityMedium2Schatten werden in mittlerer Qualität gerendert.
QAbstract3DGraph::ShadowQualityHigh3Schatten werden in hoher Qualität gerendert.
QAbstract3DGraph::ShadowQualitySoftLow4Schatten werden in niedriger Qualität mit abgeschwächten Kanten gerendert.
QAbstract3DGraph::ShadowQualitySoftMedium5Schatten werden in mittlerer Qualität mit abgeschwächten Rändern gerendert.
QAbstract3DGraph::ShadowQualitySoftHigh6Schatten werden in hoher Qualität mit abgeschwächten Rändern gerendert.

Dokumentation der Eigenschaften

activeInputHandler : QAbstract3DInputHandler*

Diese Eigenschaft enthält den im Diagramm verwendeten aktiven Input-Handler.

Zugriffsfunktionen:

QAbstract3DInputHandler *activeInputHandler() const
void setActiveInputHandler(QAbstract3DInputHandler *inputHandler)

Melder-Signal:

void activeInputHandlerChanged(QAbstract3DInputHandler *inputHandler)

activeTheme : Q3DTheme*

Diese Eigenschaft enthält das aktive Thema des Diagramms.

Zugriffsfunktionen:

Q3DTheme *activeTheme() const
void setActiveTheme(Q3DTheme *theme)

Benachrichtigungssignal:

void activeThemeChanged(Q3DTheme *theme)

[since QtDataVisualization 1.1] aspectRatio : qreal

Diese Eigenschaft enthält das Verhältnis der Diagrammskalierung zwischen der längsten Achse auf der horizontalen Ebene und der y-Achse.

Die Standardeinstellung ist 2.0.

Hinweis: Hat keine Auswirkung auf Q3DBars.

Diese Eigenschaft wurde in QtDataVisualization 1.1 eingeführt.

Zugriffsfunktionen:

qreal aspectRatio() const
void setAspectRatio(qreal ratio)

Notifier-Signal:

void aspectRatioChanged(qreal ratio)

Siehe auch horizontalAspectRatio.

[read-only, since QtDataVisualization 1.1] currentFps : const qreal

Diese Eigenschaft enthält die Rendering-Ergebnisse für die letzte Sekunde.

Die Ergebnisse werden in dieser schreibgeschützten Eigenschaft gespeichert, wenn die FPS-Messung aktiviert ist. Es dauert mindestens eine Sekunde, bevor dieser Wert nach der Aktivierung der Messung aktualisiert wird.

Diese Eigenschaft wurde in QtDataVisualization 1.1 eingeführt.

Zugriffsfunktionen:

qreal currentFps() const

Notifier-Signal:

void currentFpsChanged(qreal fps)

Siehe auch measureFps.

[since QtDataVisualization 1.2] horizontalAspectRatio : qreal

Diese Eigenschaft enthält das Verhältnis der Skalierung des Diagramms zwischen der x-Achse und der z-Achse.

Der Wert 0.0 bedeutet eine automatische Skalierung entsprechend den Achsenbereichen. Der Standardwert ist 0.0.

Hat keine Auswirkung auf Q3DBars, das die Skalierung auf der horizontalen Ebene über die Eigenschaften barThickness und barSpacing handhabt. Polardiagramme ignorieren diese Eigenschaft ebenfalls.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

qreal horizontalAspectRatio() const
void setHorizontalAspectRatio(qreal ratio)

Notifier-Signal:

void horizontalAspectRatioChanged(qreal ratio)

Siehe auch aspectRatio, polar, Q3DBars::barThickness, und Q3DBars::barSpacing.

[since QtDataVisualization 1.2] locale : QLocale

Diese Eigenschaft enthält das Gebietsschema, das für die Formatierung verschiedener numerischer Bezeichnungen verwendet wird.

Standardmäßig wird das Gebietsschema "C" verwendet.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

QLocale locale() const
void setLocale(const QLocale &locale)

Notifier-Signal:

void localeChanged(const QLocale &locale)

Siehe auch QValue3DAxis::labelFormat.

[since QtDataVisualization 1.2] margin : qreal

Diese Eigenschaft enthält den absoluten Wert, der für den Abstand zwischen dem Rand des plottbaren Diagrammbereichs und dem Rand des Diagrammhintergrunds verwendet wird.

Wenn der Randwert negativ ist, werden die Ränder automatisch bestimmt und können je nach Größe der Elemente in der Reihe und dem Typ des Diagramms variieren. Der Wert wird als Bruchteil des Bereichs der y-Achse interpretiert, wenn die Seitenverhältnisse des Diagramms nicht von den Standardwerten abgewichen sind. Der Standardwert ist -1.0.

Hinweis: Wird für ein Streudiagramm ein kleinerer Rand als der automatisch ermittelte Rand eingestellt, kann dies dazu führen, dass sich die Streuelemente an den Rändern des Diagramms mit dem Diagrammhintergrund überlappen.

Hinweis: Bei Streu- und Oberflächendiagrammen werden, wenn der Rand im Vergleich zur Größe der Achsenbeschriftung klein ist, die Positionen der Kantenbeschriftungen der Achsen angepasst, um eine Überlappung mit den Kantenbeschriftungen der benachbarten Achsen zu vermeiden.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

qreal margin() const
void setMargin(qreal margin)

Notifier-Signal:

void marginChanged(qreal margin)

[since QtDataVisualization 1.1] measureFps : bool

Diese Eigenschaft gibt an, ob das Rendering kontinuierlich und nicht nur bei Bedarf erfolgt.

Wenn true, erfolgt das Rendering kontinuierlich und der Wert der Eigenschaft currentFps wird aktualisiert. Der Standardwert ist false.

Diese Eigenschaft wurde in QtDataVisualization 1.1 eingeführt.

Zugriffsfunktionen:

bool measureFps() const
void setMeasureFps(bool enable)

Notifier-Signal:

void measureFpsChanged(bool enabled)

Siehe auch currentFps.

optimizationHints : OptimizationHints

Diese Eigenschaft gibt an, ob der Standard- oder der statische Modus für die Rendering-Optimierung verwendet wird.

Der Standardmodus bietet den vollen Funktionsumfang bei einem angemessenen Leistungsniveau. Der statische Modus optimiert das Rendering des Diagramms und ist ideal für große, unveränderliche Datensätze. Bei dynamischen Datenänderungen und Elementdrehungen ist er langsamer. Die Auswahl wird nicht optimiert, daher ist die Verwendung des statischen Modus bei großen Datensätzen nicht ratsam. Die statische Optimierung funktioniert nur bei Streudiagrammen. Die Standardeinstellung ist OptimizationDefault.

Hinweis: In manchen Umgebungen können große Diagramme mit statischer Optimierung nicht gerendert werden, da alle Elemente mit einem einzigen Zeichenaufruf gerendert werden und verschiedene Grafiktreiber unterschiedliche maximale Anzahlen von Vertices pro Aufruf unterstützen. Dies ist vor allem ein Problem auf 32bit- und OpenGL ES2-Plattformen. Um dieses Problem zu umgehen, wählen Sie ein Item-Mesh mit einer niedrigen Vertex-Anzahl oder verwenden Sie das Point-Mesh.

Zugriffsfunktionen:

QAbstract3DGraph::OptimizationHints optimizationHints() const
void setOptimizationHints(QAbstract3DGraph::OptimizationHints hints)

Notifier-Signal:

void optimizationHintsChanged(QAbstract3DGraph::OptimizationHints hints)

Siehe auch QAbstract3DSeries::mesh.

[since QtDataVisualization 1.1] orthoProjection : bool

Diese Eigenschaft gibt an, ob die orthografische Projektion für die Darstellung des Diagramms verwendet wird.

Die Standardeinstellung ist false.

Hinweis: Schatten werden deaktiviert, wenn sie auf true gesetzt sind.

Diese Eigenschaft wurde in QtDataVisualization 1.1 eingeführt.

Zugriffsfunktionen:

bool isOrthoProjection() const
void setOrthoProjection(bool enable)

Notifier-Signal:

void orthoProjectionChanged(bool enabled)

Siehe auch QAbstract3DAxis::labelAutoRotation und Q3DCamera::cameraPreset.

[since QtDataVisualization 1.2] polar : bool

Diese Eigenschaft bestimmt, ob horizontale Achsen in polare Achsen umgewandelt werden.

Wenn true, wird die x-Achse zur Winkelachse und die z-Achse zur Radialachse. Der Polarmodus ist für Balkendiagramme nicht verfügbar.

Die Voreinstellung ist false.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

bool isPolar() const
void setPolar(bool enable)

Notifier-Signal:

void polarChanged(bool enabled)

Siehe auch orthoProjection und radialLabelOffset.

[read-only, since QtDataVisualization 1.2] queriedGraphPosition : const QVector3D

Diese Eigenschaft enthält die zuletzt abgefragten Diagrammpositionswerte entlang jeder Achse.

Diese schreibgeschützte Eigenschaft enthält die Ergebnisse von Q3DScene::graphPositionQuery. Die Werte sind auf den Bereich [-1, 1] normiert. Wenn die abgefragte Position außerhalb der Diagrammgrenzen lag, spiegeln die Werte nicht die tatsächliche Position wider, sondern zeigen stattdessen eine undefinierte Position außerhalb des Bereichs [-1, 1] an. Der Wert ist so lange undefiniert, bis eine Abfrage durchgeführt wird.

Es gibt keine einzige korrekte 3D-Koordinate, die einer bestimmten Bildschirmposition entspricht. Um konsistent zu sein, werden die Abfragen daher immer an den Innenseiten eines unsichtbaren Rahmens durchgeführt, der das Diagramm umgibt.

Hinweis: Balkendiagramme erlauben nur die Abfrage der Diagrammposition auf der Ebene des Diagrammbodens, daher ist der y-Wert bei Balkendiagrammen immer Null und die gültigen Abfragen können nur an Bildschirmpositionen erfolgen, die den Boden des Diagramms enthalten.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

QVector3D queriedGraphPosition() const

Notifier Signal:

void queriedGraphPositionChanged(const QVector3D &data)

Siehe auch Q3DScene::graphPositionQuery.

[since QtDataVisualization 1.2] radialLabelOffset : float

Diese Eigenschaft enthält den normierten horizontalen Versatz für die Achsenbeschriftungen der radialen Polarachse.

Der Wert 0.0 gibt an, dass die Beschriftungen neben der Gitternetzlinie der Winkelachse mit dem Winkel 0 gezeichnet werden sollen. Der Wert 1.0 zeigt an, dass die Beschriftungen an ihrem üblichen Platz am Rand des Diagrammhintergrunds gezeichnet werden. Der Standardwert ist 1.0.

Diese Eigenschaft wird ignoriert, wenn der Wert der Eigenschaft polar false ist.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

float radialLabelOffset() const
void setRadialLabelOffset(float offset)

Notifier Signal:

void radialLabelOffsetChanged(float offset)

Siehe auch polar.

[since QtDataVisualization 1.2] reflection : bool

Diese Eigenschaft gibt an, ob Bodenreflexionen ein- oder ausgeschaltet sind.

Die Standardeinstellung ist false.

Betrifft nur Q3DBars. In Q3DBars Diagrammen, die sowohl positive als auch negative Werte enthalten, werden Reflexionen jedoch nicht für benutzerdefinierte Elemente unterstützt, die die Bodenebene schneiden. In diesem Fall sollten die Spiegelungen ausgeschaltet werden, um eine fehlerhafte Darstellung zu vermeiden.

Wenn ein benutzerdefiniertes Oberflächenformat verwendet wird, muss der Schablonenpuffer definiert werden (QSurfaceFormat::setStencilBufferSize()), damit die Spiegelungen funktionieren.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

bool isReflection() const
void setReflection(bool enable)

Notifier-Signal:

void reflectionChanged(bool enabled)

Siehe auch reflectivity.

[since QtDataVisualization 1.2] reflectivity : qreal

Reflexionsgrad des Bodens.

Größere Zahlen bedeuten, dass der Boden stärker reflektiert. Der gültige Bereich ist [0...1]. Die Standardeinstellung ist 0.5.

Hinweis: Beeinflusst nur Q3DBars.

Diese Eigenschaft wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

qreal reflectivity() const
void setReflectivity(qreal reflectivity)

Benachrichtigungssignal:

void reflectivityChanged(qreal reflectivity)

Siehe auch reflection.

[read-only] scene : Q3DScene* const

Diese Eigenschaft enthält den Zeiger Q3DScene, der verwendet werden kann, um die Szene zu manipulieren und auf die Szenenelemente zuzugreifen, wie z. B. die aktive Kamera.

Diese Eigenschaft ist schreibgeschützt.

Zugriffsfunktionen:

Q3DScene *scene() const

[read-only, since QtDataVisualization 1.1] selectedElement : const ElementType

Diese Eigenschaft enthält das im Diagramm ausgewählte Element.

Diese Eigenschaft kann zur Abfrage des ausgewählten Elementtyps verwendet werden. Der Typ ist so lange gültig, bis eine neue Auswahl im Graphen getroffen und das Signal selectedElementChanged ausgegeben wird.

Das Signal kann z.B. für die Implementierung von benutzerdefinierten Eingabehandlern verwendet werden, wie im Beispiel der Graph Gallery unter dem Reiter Scatter Graph gezeigt.

Diese Eigenschaft wurde in QtDataVisualization 1.1 eingeführt.

Zugriffsfunktionen:

QAbstract3DGraph::ElementType selectedElement() const

Notifier Signal:

void selectedElementChanged(QAbstract3DGraph::ElementType type)

Siehe auch selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(), Q3DBars::selectedSeries(), Q3DScatter::selectedSeries(), Q3DSurface::selectedSeries(), und Q3DScene::setSelectionQueryPosition().

selectionMode : SelectionFlags

Modus der Artikelauswahl.

Eine Kombination aus SelectionFlags. Standardmäßig ist SelectionItem eingestellt. Verschiedene Diagrammtypen unterstützen unterschiedliche Auswahlmodi.

Zugriffsfunktionen:

QAbstract3DGraph::SelectionFlags selectionMode() const
void setSelectionMode(QAbstract3DGraph::SelectionFlags mode)

Benachrichtigungssignal:

void selectionModeChanged(QAbstract3DGraph::SelectionFlags mode)

Siehe auch SelectionFlags.

shadowQuality : ShadowQuality

Diese Eigenschaft gibt die Qualität des Schattens an.

Einer der ShadowQuality enum-Werte. Standardmäßig ist dies ShadowQualityMedium.

Hinweis: Wenn die Einstellung der Schattenqualität auf eine bestimmte Stufe fehlschlägt, wird die Stufe gesenkt, bis sie erfolgreich eingestellt ist. Das Signal shadowQualityChanged wird jedes Mal ausgegeben, wenn eine Änderung vorgenommen wird.

Zugriffsfunktionen:

QAbstract3DGraph::ShadowQuality shadowQuality() const
void setShadowQuality(QAbstract3DGraph::ShadowQuality quality)

Benachrichtigungssignal:

void shadowQualityChanged(QAbstract3DGraph::ShadowQuality quality)

Siehe auch ShadowQuality.

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QAbstract3DGraph::~QAbstract3DGraph()

Zerstört QAbstract3DGraph.

[since QtDataVisualization 1.1] int QAbstract3DGraph::addCustomItem(QCustom3DItem *item)

Fügt dem Diagramm ein QCustom3DItem item hinzu. Graph übernimmt das Eigentum an dem hinzugefügten Element.

Gibt den Index des hinzugefügten Elements zurück, wenn der Hinzufügungsvorgang erfolgreich war, -1, wenn versucht wurde, ein Nullelement hinzuzufügen, und den Index des Elements, wenn versucht wurde, ein bereits hinzugefügtes Element hinzuzufügen.

Die Elemente werden in der Reihenfolge gerendert, in der sie eingefügt wurden. Die Rendering-Reihenfolge muss berücksichtigt werden, wenn einfarbige und transparente Elemente vorhanden sind.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

Siehe auch removeCustomItems(), removeCustomItem(), removeCustomItemAt(), und customItems().

void QAbstract3DGraph::addInputHandler(QAbstract3DInputHandler *inputHandler)

Fügt dem Graphen die angegebene inputHandler hinzu. Die über addInputHandler hinzugefügten Input-Handler werden nicht direkt verwendet. Dem Graphen wird nur das Eigentum an der inputHandler übertragen. Der inputHandler darf nicht null sein oder bereits einem anderen Graphen hinzugefügt worden sein.

Siehe auch releaseInputHandler() und setActiveInputHandler().

void QAbstract3DGraph::addTheme(Q3DTheme *theme)

Fügt das angegebene theme zum Diagramm hinzu. Die über addTheme hinzugefügten Themen werden nicht direkt in Gebrauch genommen. Nur der Besitz des Themas wird dem Graphen zugewiesen. Das theme darf nicht null sein oder bereits einem anderen Graphen hinzugefügt worden sein.

Siehe auch releaseTheme() und setActiveTheme().

void QAbstract3DGraph::clearSelection()

Löscht die Auswahl aus allen angehängten Serien.

[since QtDataVisualization 1.2] QList<QCustom3DItem *> QAbstract3DGraph::customItems() const

Gibt die Liste aller hinzugefügten benutzerdefinierten Elemente zurück.

Diese Funktion wurde in QtDataVisualization 1.2 eingeführt.

Siehe auch addCustomItem().

bool QAbstract3DGraph::hasContext() const

Gibt true zurück, wenn der OpenGL-Kontext des Graphen erfolgreich initialisiert wurde. Der Versuch, einen Graphen zu verwenden, wenn die Kontextinitialisierung fehlgeschlagen ist, führt normalerweise zu einem Absturz. Ein häufiger Grund für eine fehlgeschlagene Kontextinitialisierung ist der Mangel an ausreichender Plattformunterstützung für OpenGL.

[since 6.3] bool QAbstract3DGraph::hasSeries(QAbstract3DSeries *series) const

Gibt zurück, ob die series bereits zum Graphen hinzugefügt wurde.

Diese Funktion wurde in Qt 6.3 eingeführt.

QList<QAbstract3DInputHandler *> QAbstract3DGraph::inputHandlers() const

Gibt die Liste aller hinzugefügten Eingabehandler zurück.

Siehe auch addInputHandler().

[since QtDataVisualization 1.1] void QAbstract3DGraph::releaseCustomItem(QCustom3DItem *item)

Holt das Eigentum an der angegebenen item zurück und entfernt die item aus dem Diagramm.

Hinweis: Wenn dasselbe Element wieder zum Graphen hinzugefügt wird, muss die Textur oder die Texturdatei neu gesetzt werden.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

Siehe auch QCustom3DItem::setTextureImage() und QCustom3DItem::setTextureFile().

void QAbstract3DGraph::releaseInputHandler(QAbstract3DInputHandler *inputHandler)

Gibt das Eigentum an inputHandler an den Aufrufer zurück, wenn es zu diesem Diagramm hinzugefügt wurde. Wenn die freigegebene inputHandler in Gebrauch ist, ist nach diesem Aufruf kein Input-Handler mehr aktiv.

Wenn der Standard-Eingabehandler freigegeben und später wieder hinzugefügt wird, verhält er sich wie jeder andere Eingabehandler auch.

Siehe auch addInputHandler() und setActiveInputHandler().

void QAbstract3DGraph::releaseTheme(Q3DTheme *theme)

Gibt das Eigentum an theme an den Aufrufer zurück, wenn es zu diesem Diagramm hinzugefügt wurde. Wenn das freigegebene theme verwendet wird, wird ein neues Standardthema erstellt und aktiv gesetzt.

Wenn das Standardthema freigegeben und später wieder hinzugefügt wird, verhält es sich wie jedes andere Thema auch.

Siehe auch addTheme() und setActiveTheme().

[since QtDataVisualization 1.1] void QAbstract3DGraph::removeCustomItem(QCustom3DItem *item)

Entfernt die benutzerdefinierte item. Löscht die ihm zugewiesenen Ressourcen.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

[since QtDataVisualization 1.1] void QAbstract3DGraph::removeCustomItemAt(const QVector3D &position)

Entfernt alle benutzerdefinierten Elemente auf position. Löscht die ihnen zugewiesenen Ressourcen.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

[since QtDataVisualization 1.1] void QAbstract3DGraph::removeCustomItems()

Entfernt alle benutzerdefinierten Elemente. Löscht die ihnen zugewiesenen Ressourcen.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

[since QtDataVisualization 1.1] QImage QAbstract3DGraph::renderToImage(int msaaSamples = 0, const QSize &imageSize = QSize())

Rendert den aktuellen Frame in ein Bild von imageSize. Die Standardgröße ist die Fenstergröße. Das Bild wird mit dem in msaaSamples angegebenen Antialiasing-Level gerendert. Die Standardstufe ist 0.

Gibt das gerenderte Bild zurück.

Hinweis: OpenGL ES2 unterstützt kein Anitialiasing, daher wird msaaSamples immer auf 0 gesetzt.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

[since QtDataVisualization 1.1] QAbstract3DAxis *QAbstract3DGraph::selectedAxis() const

Kann verwendet werden, um die ausgewählte Achse nach dem Empfang des Signals selectedElementChanged mit einem beliebigen Etikettentyp zu erhalten. Die Auswahl ist bis zum nächsten selectedElementChanged Signal gültig.

Gibt den Zeiger auf die ausgewählte Achse oder null zurück.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

Siehe auch selectedElement.

[since QtDataVisualization 1.1] QCustom3DItem *QAbstract3DGraph::selectedCustomItem() const

Kann verwendet werden, um das ausgewählte benutzerdefinierte Element nach Erhalt des Signals selectedElementChanged mit dem Typ QAbstract3DGraph::ElementCustomItem zu erhalten. Das Eigentum an dem Element verbleibt beim Diagramm. Die Auswahl ist bis zum nächsten selectedElementChanged Signal gültig.

Gibt den Zeiger auf das ausgewählte benutzerdefinierte Element oder null zurück.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

Siehe auch selectedElement.

[since QtDataVisualization 1.1] int QAbstract3DGraph::selectedCustomItemIndex() const

Kann verwendet werden, um den Index des ausgewählten benutzerdefinierten Elements abzufragen, nachdem das Signal selectedElementChanged mit dem Typ QAbstract3DGraph::ElementCustomItem empfangen wurde. Die Auswahl ist bis zum nächsten selectedElementChanged Signal gültig.

Gibt den Index des ausgewählten benutzerdefinierten Elements oder -1 zurück.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

Siehe auch selectedElement.

[since QtDataVisualization 1.1] int QAbstract3DGraph::selectedLabelIndex() const

Kann verwendet werden, um den Index des ausgewählten Etiketts abzufragen, nachdem das Signal selectedElementChanged mit einem beliebigen Etikettentyp empfangen wurde. Die Auswahl ist bis zum nächsten selectedElementChanged -Signal gültig.

Gibt den Index des ausgewählten Labels zurück, oder -1.

Diese Funktion wurde in QtDataVisualization 1.1 eingeführt.

Siehe auch selectedElement.

void QAbstract3DGraph::setActiveInputHandler(QAbstract3DInputHandler *inputHandler)

Setzt inputHandler als aktiven Input-Handler für den Graphen. Ruft implizit addInputHandler() auf, um den Besitz von inputHandler auf diesen Graphen zu übertragen.

Wenn inputHandler null ist, ist nach diesem Aufruf kein Input-Handler aktiv.

Hinweis: Setter-Funktion für die Eigenschaft activeInputHandler.

Siehe auch activeInputHandler(), addInputHandler(), und releaseInputHandler().

void QAbstract3DGraph::setActiveTheme(Q3DTheme *theme)

Legt theme als aktives Thema fest, das für den Graphen verwendet werden soll. Ruft implizit addTheme() auf, um den Besitz des Themas auf diesen Graphen zu übertragen.

Wenn theme null ist, wird ein temporäres Standardthema erstellt. Dieses temporäre Thema wird zerstört, wenn später ein Thema explizit festgelegt wird. Die Eigenschaften des Themas können auch nach dem Setzen des Themas geändert werden, und die Änderungen werden sofort wirksam.

Hinweis: Setter-Funktion für die Eigenschaft activeTheme.

Siehe auch activeTheme().

[virtual] bool QAbstract3DGraph::shadowsSupported() const

Gibt true zurück, wenn Schatten mit der aktuellen Konfiguration unterstützt werden. OpenGL ES2-Konfigurationen unterstützen keine Schatten.

QList<Q3DTheme *> QAbstract3DGraph::themes() const

Gibt die Liste aller hinzugefügten Themen zurück.

Siehe auch addTheme().

Verwandte Nicht-Mitglieder

QSurfaceFormat qDefaultSurfaceFormat(bool antialias)

Mit dieser Funktion kann ein benutzerdefiniertes Oberflächenformat erstellt werden, das für die Verwendung von Qt Data Visualization graphs 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 <QtDataVisualization/qutils.h>

// ...

Q3DBars *graph = new Q3DBars(qDefaultSurfaceFormat(false));

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

#include <QtDataVisualization/qutils.h>

// ...

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

Hinweis: Antialiasing wird in OpenGL ES2-Umgebungen nicht unterstützt.

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