Bars3DNode QML Type
3D-Balkendiagramm-Knoten. Mehr...
| Import Statement: | import QtGraphs |
| Inherits: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- „Bars3DNode“ ist Teil der „Qt Graphs “-QML-Typen für 3D.
Eigenschaften
- aspectRatio : real
- barSeriesMargin : size
- barSpacing : size
- barSpacingRelative : bool
- barThickness : real
- columnAxis : Category3DAxis
- customItemList : list<Custom3DItem>
- floorLevel : real
- gridLineType : Graphs3D.GridLineType
- horizontalAspectRatio : real
- labelMargin : real
- locale : locale
- margin : real
- multiSeriesUniform : bool
- optimizationHint : Graphs3D.OptimizationHint
- polar : bool
- primarySeries : Bar3DSeries
- queriedGraphPosition : vector3d
- radialLabelOffset : real
- rowAxis : Category3DAxis
- selectedElement : Graphs3D.ElementType
- selectedSeries : Bar3DSeries
- selectionMode : Graphs3D.SelectionMode
- seriesList : list<Bar3DSeries>
- theme : GraphsTheme
- valueAxis : ValueAxis3D
Signale
- barSeriesMarginChanged(size margin)
- barSpacingChanged(size spacing)
- barSpacingRelativeChanged(bool relative)
- barThicknessChanged(real thicknessRatio)
- columnAxisChanged(Category3DAxis axis)
- floorLevelChanged(real level)
- multiSeriesUniformChanged(bool uniform)
- primarySeriesChanged(Bar3DSeries series)
- rowAxisChanged(Category3DAxis axis)
- selectedSeriesChanged(Bar3DSeries series)
- valueAxisChanged(ValueAxis3D axis)
Methoden
- qsizetype addCustomItem(Custom3DItem item)
- void addSeries(Bar3DSeries series)
- void clearSelection()
- void doPicking(QPoint point)
- void doRayPicking(QVector3D origin, QVector3D direction)
- bool hasSeries(Abstract3DSeries series)
- void insertSeries(int index, Bar3DSeries series)
- void releaseCustomItem(Custom3DItem item)
- void removeCustomItem(Custom3DItem item)
- void removeCustomItemAt(vector3d position)
- void removeCustomItems()
- void removeSeries(Bar3DSeries series)
- Abstract3DAxis selectedAxis()
- Custom3DItem selectedCustomItem()
- qsizetype selectedCustomItemIndex()
- int selectedLabelIndex()
Ausführliche Beschreibung
Dieser Typ ermöglicht es Entwicklern, einen Balkendiagramm-Knoten in 3D mit „ Qt Quick “ darzustellen.
Um diesen Typ zu verwenden, müssen Sie das Modul „ Qt Graphs “ importieren:
import QtGraphsDanach können Sie „Bars3DNode“ in Ihren QML-Dateien verwenden:
import QtQuick
import QtGraphs
View3D {
width: 640
height: 480
Bars3DNode {
width: parent.width
height: parent.height
Bar3DSeries {
itemLabelFormat: "@colLabel, @rowLabel: @valueLabel"
ItemModelBarDataProxy {
itemModel: dataModel
// Mapping model roles to bar series rows, columns, and values.
rowRole: "year"
columnRole: "city"
valueRole: "expenses"
}
}
}
ListModel {
id: dataModel
ListElement{ year: "2022"; city: "Oulu"; expenses: "4200"; }
ListElement{ year: "2022"; city: "Rauma"; expenses: "2100"; }
ListElement{ year: "2022"; city: "Helsinki"; expenses: "7040"; }
ListElement{ year: "2022"; city: "Tampere"; expenses: "4330"; }
ListElement{ year: "2023"; city: "Oulu"; expenses: "3960"; }
ListElement{ year: "2023"; city: "Rauma"; expenses: "1990"; }
ListElement{ year: "2023"; city: "Helsinki"; expenses: "7230"; }
ListElement{ year: "2023"; city: "Tampere"; expenses: "4650"; }
}
}Siehe auch „ Bar3DSeries“ , „ ItemModelBarDataProxy “, „ Scatter3DNode “, „ Surface3DNode “ und „Qt Graphs “ – C++-Klassen für 3D.
Dokumentation zu den Eigenschaften
aspectRatio : real
Das Skalierungsverhältnis des Diagramms zwischen der längsten Achse auf der horizontalen Ebene und der y-Achse. Standardwert ist 2.0.
Hinweis: Hat keine Auswirkungen auf „ Bars3D “.
Siehe auch „ horizontalAspectRatio “.
barSeriesMargin : size
Abstand zwischen den Spalten einer Reihe in der X- und Z-Richtung. Standardmäßig auf „ (0.0, 0.0) “ voreingestellt. Sinnvolle Werte liegen im Bereich [0,1).
barSpacing : size
Stababstand in X- und Z-Richtung.
Standardmäßig auf „ (1.0, 1.0) “ voreingestellt. Der Abstand wird durch die Eigenschaft „ barSpacingRelative “ beeinflusst.
barSpacingRelative : bool
Ob der Abstand absolut oder relativ zur Balkenstärke ist.
Wenn „ true “ gesetzt ist, bedeutet der Wert „ 0.0 “, dass die Balken nebeneinander platziert werden, „ 1.0 “ bedeutet, dass zwischen den Balken ein Abstand in der Breite eines Balkens gelassen wird, und so weiter. Voreingestellt ist „ true “.
barThickness : real
Das Verhältnis der Stabdicke zwischen den Abmessungen X und Z. Der Wert „ 1.0 “ bedeutet, dass die Stäbe genauso breit wie tief sind, während „ 0.5 “ bedeutet, dass sie doppelt so tief wie breit sind.
columnAxis : Category3DAxis
Die aktive Spaltenachse.
Wird keine Achse angegeben, wird eine temporäre Standardachse ohne Beschriftungen erstellt. Diese temporäre Achse wird gelöscht, wenn eine andere Achse explizit auf dieselbe Ausrichtung festgelegt wird.
customItemList : list<Custom3DItem>
Die Liste der „ Custom3DItem “-Elemente, die dem Diagramm hinzugefügt wurden. Das Diagramm übernimmt die Verantwortung für die hinzugefügten Elemente.
floorLevel : real
Die Untergrenze für das Balkendiagramm in den Datenkoordinaten der Y-Achse.
Die tatsächliche Untergrenze wird durch die Minimal- und Maximalwerte der Y-Achse begrenzt. Der Standardwert ist Null.
gridLineType : Graphs3D.GridLineType
Legt fest, ob der Typ der Gitterlinien „ Graphs3D.GridLineType.Shader “ oder „ Graphs3D.GridLineType.Geometry “ lautet.
Dieser Wert wirkt sich auf alle Gitterlinien aus.
Siehe auch „ Graphs3D.GridLineType “.
horizontalAspectRatio : real
Das Skalierungsverhältnis zwischen der x-Achse und der z-Achse im Diagramm. Der Wert „ 0.0 “ bedeutet eine automatische Skalierung entsprechend den Achsenbereichen. Die Standardeinstellung lautet „ 0.0 “.
Hinweis: Hat keine Auswirkung auf „ Bars3DNode “, da die Skalierung in der horizontalen Ebene über die Eigenschaften „ barThickness “ und „ barSpacing “ gesteuert wird. Polardiagramme ignorieren diese Eigenschaft ebenfalls.
Siehe auch „ aspectRatio“ , „ polar “, „ Bars3DNode::barThickness “ und „ Bars3DNode::barSpacing “.
labelMargin : real
Diese Eigenschaft legt den Rand für die Platzierung der Achsenbeschriftungen fest.
Bei negativen Werten werden die Beschriftungen innerhalb des Darstellungsbereichs platziert, bei positiven Werten außerhalb des Darstellungsbereichs. Die automatische Drehung der Beschriftungen ist deaktiviert, wenn der Wert negativ ist. Standardwert ist 0.1
Siehe auch QAbstract3DAxis::labelAutoAngle.
locale : locale
Legt die für die Formatierung verschiedener Zahlenangaben verwendete Locale fest. Standardmäßig ist die Locale „ "C" “ eingestellt.
Siehe auch Value3DAxis::labelFormat.
margin : real
Der absolute Wert, der für den Abstand zwischen dem Rand des darstellbaren Diagrammbereichs und dem Rand des Diagrammhintergrunds verwendet wird.
Ist der Randwert negativ, werden die Ränder automatisch festgelegt und können je nach Größe der Elemente in der Reihe und dem Diagrammtyp variieren. Der Wert wird als Bruchteil des y-Achsenbereichs interpretiert, sofern die Seitenverhältnisse des Diagramms nicht gegenüber den Standardwerten geändert wurden. Standardwert ist „ -1.0 “.
Hinweis: Wenn für ein Streudiagramm ein kleinerer Rand als der automatisch ermittelte Randfestgelegt wird , kann es dazu kommen, dass sich die Streudiagrammelemente an den Rändern des Diagramms mit dem Diagrammhintergrund überlappen.
Hinweis: Bei Streu- und Flächendiagrammen werden die Positionen der Randbeschriftungen der Achsen angepasst, um eine Überlappung mit den Randbeschriftungen der benachbarten Achsen zu vermeiden, wenn der Rand im Vergleich zur Größe der Achsenbeschriftungen klein ist.
multiSeriesUniform : bool
Legt fest, ob die Balken anhand der Proportionen eines einzelnen Serienbalkens skaliert werden sollen, auch wenn mehrere Serien angezeigt werden. Bei der Einstellung „ true “ wird „ bar spacing “ nur auf die X-Achse korrekt angewendet. Standardmäßig ist „ false “ voreingestellt.
optimizationHint : Graphs3D.OptimizationHint
Legt fest, ob zur Rendering-Optimierung der Standard- oder der Legacy-Modus verwendet wird.
Der Standardmodus nutzt instanziertes Rendering und bietet auf den meisten Systemen den vollen Funktionsumfang bei bester Leistung. Der statische Modus optimiert das Rendern des Diagramms und eignet sich ideal für große, unveränderliche Datensätze. Bei dynamischen Datenänderungen und Elementrotationen ist er langsamer. Die Auswahl wird nicht optimiert, daher ist die Verwendung des statischen Modus bei sehr großen Datensätzen nicht ratsam. Der Legacy-Modus rendert alle Elemente im Diagramm einzeln, ohne Instanzierung. Er sollte nur verwendet werden, wenn der Standardmodus nicht funktioniert, d. h. wenn das Zielsystem keine Instanzierung unterstützt. Die Standardeinstellung lautet „ Default “.
Hinweis: In manchen Umgebungen werden große Grafiken mit statischer Optimierung möglicherweise nicht gerendert, da alle Elemente mit einem einzigen „Draw Call“ gerendert werden und verschiedene Grafiktreiber unterschiedliche maximale Vertex-Anzahlen pro Aufruf unterstützen. Dies ist vor allem auf 32-Bit- und OpenGL-ES2-Plattformen ein Problem. Um dieses Problem zu umgehen, wählen Sie ein Element-Mesh mit einer geringen Anzahl an Scheitelpunkten oder verwenden Sie das Punkt-Mesh.
Siehe auch Abstract3DSeries::mesh und Graphs3D.OptimizationHint.
polar : bool
Wenn true ist, werden die horizontalen Achsen in Polarkoordinaten umgewandelt. Die x-Achse wird zur Winkelachse und die z-Achse zur Radialachse. Der Polarmodus ist für Balkendiagramme nicht verfügbar.
Standardmäßig ist „ false “ eingestellt.
Siehe auch „ radialLabelOffset “.
primarySeries : Bar3DSeries
Die primäre Reihe des Diagramms. Sie dient zur Festlegung der Beschriftungen der Zeilen- und Spaltenachsen, wenn diese nicht explizit für die Achsen festgelegt wurden.
Wenn die angegebene Reihe noch nicht zum Diagramm hinzugefügt wurde, wird sie durch die Festlegung als primäre Reihe implizit zum Diagramm hinzugefügt.
Wird die primäre Reihe selbst aus dem Diagramm entfernt, wird diese Eigenschaft auf den Standardwert zurückgesetzt.
Ist die Reihe null, wird diese Eigenschaft auf den Standardwert zurückgesetzt. Der Standardwert ist die zuerst hinzugefügte Reihe oder Null, falls dem Diagramm keine Reihe hinzugefügt wurde.
queriedGraphPosition : vector3d [read-only]
Diese schreibgeschützte Eigenschaft enthält die aktuellsten Positionswerte des Diagramms entlang jeder Achse, die mit „ Scene3D::graphPositionQuery “ abgefragt wurden. Die Werte sind auf den Bereich [-1, 1] normiert. Liegt die abgefragte Position außerhalb der Diagrammgrenzen, spiegeln die Werte nicht die tatsächliche Position wider, sondern es handelt sich stattdessen um eine undefinierte Position außerhalb des Bereichs [-1, 1]. Der Wert bleibt undefiniert, bis eine Abfrage erfolgt.
Da es keine eindeutige 3D-Koordinate gibt, die einer bestimmten Bildschirmposition entspricht, erfolgen die Abfragen aus Gründen der Konsistenz stets an den Innenseiten eines unsichtbaren Rahmens, der das Diagramm umgibt.
Hinweis: Bei Balkendiagrammen kann die Diagrammposition nur auf Höhe des Diagrammbodens abgefragt werden, daher ist der y-Wert bei Balkendiagrammen immer Null, und gültige Abfragen können nur an Bildschirmpositionen erfolgen, die den Diagrammboden enthalten.
Siehe auch Scene3D::graphPositionQuery.
radialLabelOffset : real
Diese Eigenschaft legt den normierten horizontalen Versatz für die Achsenbeschriftungen der radialen Polachse fest. Der Wert „ 0.0 “ gibt an, dass die Beschriftungen neben der Winkelachsen-Gitterlinie bei 0° gezeichnet werden sollen. Der Wert „ 1.0 “ gibt an, dass die Beschriftungen an ihrer üblichen Stelle am Rand des Diagrammhintergrunds gezeichnet werden. Diese Eigenschaft wird ignoriert, wenn der Wert der Eigenschaft „polar“ „ false “ lautet. Der Standardwert ist „ 1.0 “.
Siehe auch „ polar “.
rowAxis : Category3DAxis
Die aktive Zeilenachse.
Wird keine Achse angegeben, wird eine temporäre Standardachse ohne Beschriftungen erstellt. Diese temporäre Achse wird gelöscht, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.
selectedElement : Graphs3D.ElementType [read-only]
Das im Diagramm ausgewählte Element.
Mit dieser Eigenschaft lässt sich der Typ des ausgewählten Elements abfragen. Der Typ bleibt gültig, bis im Diagramm eine neue Auswahl getroffen wird und das Signal „ selectedElementChanged “ ausgegeben wird.
Das Signal kann beispielsweise zur Implementierung einer benutzerdefinierten Eingabeverarbeitung verwendet werden, wie im Beispiel „Axis Handling“ gezeigt.
Siehe auch „ selectedLabelIndex()“, „ selectedAxis()“, „ selectedCustomItemIndex()“, „ selectedCustomItem()“, „ Bars3DNode::selectedSeries “, „ Scatter3DNode::selectedSeries “, „ Scene3D::selectionQueryPosition “ und „ Graphs3D.ElementType “.
selectedSeries : Bar3DSeries [read-only]
Die ausgewählte Serie oder „ null “. Wenn für „ selectionMode “ das Flag „ SelectionMultiSeries “ gesetzt ist, enthält diese Eigenschaft die Serie, zu der der ausgewählte Balken gehört.
selectionMode : Graphs3D.SelectionMode
Der aktive Auswahlmodus im Diagramm. Einer der Enum-Werte aus „ graphs3d.selectionflag “.
seriesList : list<Bar3DSeries> [default]
Die Reihen des Diagramms. Standardmäßig enthält diese Eigenschaft eine leere Liste. Um die Reihen festzulegen, verwenden Sie entweder die Funktion „ addSeries()“ oder definieren Sie sie als untergeordnete Elemente des Diagramms.
theme : GraphsTheme
Das aktive Thema der Grafik.
Siehe auch GraphsTheme.
valueAxis : ValueAxis3D
Die aktive Werteachse.
Wird keine Achse angegeben, wird eine temporäre Standardachse ohne Beschriftungen und mit einem sich automatisch anpassenden Bereich erstellt. Diese temporäre Achse wird gelöscht, wenn eine andere Achse explizit auf dieselbe Ausrichtung festgelegt wird.
Signal-Dokumentation
barSeriesMarginChanged(size margin)
Dieses Signal wird ausgelöst, wenn sich „ barSeriesMargin “ in „ margin “ ändert.
Hinweis: Der entsprechende Handler lautet onBarSeriesMarginChanged.
barSpacingChanged(size spacing)
Dieses Signal wird ausgelöst, wenn sich „ barSpacing “ in „ spacing “ ändert.
Hinweis: Der entsprechende Handler lautet onBarSpacingChanged.
barSpacingRelativeChanged(bool relative)
Dieses Signal wird ausgelöst, wenn sich barSpacingRelative in relative ändert.
Hinweis: Der zugehörige Handler lautet onBarSpacingRelativeChanged.
barThicknessChanged(real thicknessRatio)
Dieses Signal wird ausgelöst, wenn sich „ barThickness “ in „ thicknessRatio “ ändert.
Hinweis: Der entsprechende Handler lautet onBarThicknessChanged.
columnAxisChanged(Category3DAxis axis)
Dieses Signal wird ausgelöst, wenn sich „ columnAxis “ in „ axis “ ändert.
Hinweis: Der entsprechende Handler lautet onColumnAxisChanged.
floorLevelChanged(real level)
Dieses Signal wird ausgelöst, wenn sich „ floorLevel “ in „ level “ ändert.
Hinweis: Der zugehörige Handler lautet onFloorLevelChanged.
multiSeriesUniformChanged(bool uniform)
Dieses Signal wird ausgelöst, wenn sich multiSeriesUniform in uniform ändert.
Hinweis: Der entsprechende Handler lautet onMultiSeriesUniformChanged.
primarySeriesChanged(Bar3DSeries series)
Dieses Signal wird ausgelöst, wenn sich primarySeries in series ändert.
Hinweis: Der entsprechende Handler lautet onPrimarySeriesChanged.
rowAxisChanged(Category3DAxis axis)
Dieses Signal wird ausgelöst, wenn sich rowAxis in axis ändert.
Hinweis: Der entsprechende Handler lautet onRowAxisChanged.
selectedSeriesChanged(Bar3DSeries series)
Dieses Signal wird ausgelöst, wenn sich „ selectedSeries “ in „ series “ ändert.
Hinweis: Der entsprechende Handler lautet onSelectedSeriesChanged.
valueAxisChanged(ValueAxis3D axis)
Dieses Signal wird ausgelöst, wenn sich „ valueAxis “ in „ axis “ ändert.
Hinweis: Der entsprechende Handler lautet onValueAxisChanged.
Methodendokumentation
qsizetype addCustomItem(Custom3DItem item)
Fügt dem Graphen ein „ Custom3DItem “ ( item ) hinzu. Der Graph übernimmt die Verantwortung für das hinzugefügte Element.
Gibt den Index des hinzugefügten Elements zurück, wenn das Hinzufügen erfolgreich war, -1, wenn versucht wurde, ein Null-Element hinzuzufügen, und den Index des Elements, wenn versucht wurde, ein bereits vorhandenes Element erneut hinzuzufügen.
Siehe auch removeCustomItems(), removeCustomItem() und removeCustomItemAt().
void addSeries(Bar3DSeries series)
Fügt die „ series “ zum Diagramm hinzu. Ein Diagramm kann mehrere Reihen enthalten, jedoch nur einen Achsenpaar, sodass die Zeilen und Spalten aller Reihen übereinstimmen müssen, damit die visualisierten Daten aussagekräftig sind. Wenn das Diagramm mehrere sichtbare Reihen enthält, erzeugt nur die zuerst hinzugefügte Reihe die Zeilen- oder Spaltenbeschriftungen auf den Achsen, sofern diese nicht explizit auf den Achsen festgelegt wurden. Wenn für die neu hinzugefügte Reihe ein Balken ausgewählt wurde, wird dieser hervorgehoben und eine eventuell vorhandene Auswahl wird aufgehoben. Nur eine der hinzugefügten Reihen kann eine aktive Auswahl haben.
Siehe auch ` GraphsNode::hasSeries()`.
void clearSelection()
Löscht die Auswahl aus allen verknüpften Serien.
void doPicking(QPoint point)
Führt eine Auswahl anhand der Ansichtskoordinaten aus „ point “ für die Elemente des Graphen durch und wählt dabei das erste getroffene Element aus. Die Standard-Eingabeverarbeitung führt dies beim Empfang des „onTapped“-Ereignisses durch.
Siehe auch selectedElement.
void doRayPicking(QVector3D origin, QVector3D direction)
Führt eine Auswahl beginnend bei origin und in direction für die Elemente des Graphen durch und wählt dabei das erste gefundene Element aus.
Siehe auch selectedElement.
bool hasSeries(Abstract3DSeries series)
Gibt zurück, ob das „ series “ bereits zum Graphen hinzugefügt wurde.
void insertSeries(int index, Bar3DSeries series)
Fügt die „ series “ an der Position „ index “ in die Serienliste ein. Falls die „ series “ bereits zur Liste hinzugefügt wurde, wird sie an die neue Position „ index “ verschoben.
Hinweis: Beim Verschieben einer Serie an eine neue Position „ index “, die hinter ihrem alten Index liegt, wird die neue Position in der Liste so berechnet, als befände sich die Serie noch an ihrem alten Index; der endgültige Index ist also tatsächlich der Wert „ index “ minus eins.
Siehe auch GraphsNode::hasSeries().
void releaseCustomItem(Custom3DItem item)
Erlangt die Eigentumsrechte an „ item “ zurück und entfernt „ item “ aus dem Diagramm.
Hinweis: Wenn dasselbe Element wieder zum Graph hinzugefügt wird, muss die Texturdatei neu festgelegt werden.
Siehe auch „ Custom3DItem::textureFile “.
void removeCustomItem(Custom3DItem item)
Entfernt den benutzerdefinierten „ item “. Löscht die ihm zugewiesenen Ressourcen.
void removeCustomItemAt(vector3d position)
Entfernt alle benutzerdefinierten Elemente unter position. Löscht die ihnen zugewiesenen Ressourcen.
void removeCustomItems()
Entfernt alle benutzerdefinierten Elemente. Löscht die ihnen zugewiesenen Ressourcen.
void removeSeries(Bar3DSeries series)
Entfernen Sie den „ series “ aus dem Diagramm.
Siehe auch „ GraphsNode::hasSeries()“.
Abstract3DAxis selectedAxis()
Kann verwendet werden, um die ausgewählte Achse nach dem Empfang eines „ selectedElementChanged “-Signals mit einem beliebigen Label-Typ abzurufen. Die Auswahl gilt bis zum nächsten „ selectedElementChanged “-Signal.
Gibt die ausgewählte Achse oder „null“ zurück.
Siehe auch „ selectedElement “.
Custom3DItem selectedCustomItem()
Kann verwendet werden, um das ausgewählte benutzerdefinierte Element abzurufen, nachdem ein „ selectedElementChanged “-Signal vom Typ „ ElementType.CustomItem “ empfangen wurde. Das Eigentum an dem Element verbleibt beim Graphen. Die Auswahl ist bis zum nächsten „ selectedElementChanged “-Signal gültig.
Gibt das ausgewählte benutzerdefinierte Element oder „null“ zurück.
Siehe auch „ selectedElement “.
qsizetype selectedCustomItemIndex()
Kann verwendet werden, um den Index des ausgewählten benutzerdefinierten Elements abzufragen, nachdem ein „ selectedElementChanged “-Signal vom Typ „ ElementType.CustomItem “ empfangen wurde. Die Auswahl gilt bis zum nächsten „ selectedElementChanged “-Signal.
Gibt den Index des ausgewählten benutzerdefinierten Elements oder -1 zurück.
Siehe auch „ selectedElement “.
int selectedLabelIndex()
Kann verwendet werden, um den Index der ausgewählten Beschriftung abzufragen, nachdem ein „ selectedElementChanged “-Signal für einen beliebigen Beschriftungstyp empfangen wurde. Die Auswahl bleibt bis zum nächsten „ selectedElementChanged “-Signal gültig.
Gibt den Index der ausgewählten Beschriftung oder -1 zurück.
Siehe auch „ selectedElement “.
© 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.