Bars3DNode QML Type
3D-Balkendiagramm-Knoten. Mehr...
| Import Statement: | import QtGraphs |
| Inherits: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Bars3DNode ist Teil von Qt Graphs QML Types for 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()
Detaillierte 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 QtGraphs
Danach 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 der Eigenschaften
aspectRatio : real
Das Verhältnis der Diagrammskalierung zwischen der längsten Achse auf der horizontalen Ebene und der y-Achse. Der Standardwert ist 2.0.
Hinweis: Hat keine Auswirkung auf Bars3D.
Siehe auch horizontalAspectRatio.
barSeriesMargin : size
Rand zwischen den Spalten der Serie in den Dimensionen X und Z. Standardmäßig auf (0.0, 0.0) voreingestellt. Sinnvolle Werte liegen im Bereich [0,1).
barSpacing : size
Abstand der Balken in den Dimensionen X und Z.
Standardmäßig auf (1.0, 1.0) voreingestellt. Die Abstände werden von der Eigenschaft barSpacingRelative beeinflusst.
barSpacingRelative : bool
Ob der Abstand absolut oder relativ zur Balkendicke ist.
Bei true bedeutet der Wert 0.0, dass die Balken nebeneinander angeordnet sind, 1.0 bedeutet, dass zwischen den Balken ein Abstand von der Dicke eines Balkens gelassen wird, usw. Voreingestellt auf true.
barThickness : real
Das Verhältnis der Stabdicke zwischen den Dimensionen X und Z. Der Wert 1.0 bedeutet, dass die Balken so breit wie tief sind, während 0.5 sie doppelt so tief wie breit macht.
columnAxis : Category3DAxis
Die aktive Spaltenachse.
Wenn keine Achse angegeben wird, wird eine temporäre Standardachse ohne Beschriftung erstellt. Diese temporäre Achse wird zerstört, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.
customItemList : list<Custom3DItem>
Die Liste der Custom3DItem Elemente, die dem Diagramm hinzugefügt wurden. Das Diagramm übernimmt das Eigentum an den hinzugefügten Elementen.
floorLevel : real
Die Bodenhöhe für das Balkendiagramm in Y-Achsen-Datenkoordinaten.
Die tatsächliche Bodenhöhe wird durch die Mindest- und Höchstwerte 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 ist.
Dieser Wert wirkt sich auf alle Gitterlinien aus.
Siehe auch Graphs3D.GridLineType.
horizontalAspectRatio : real
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. Die Voreinstellung ist 0.0.
Hinweis: Hat keine Auswirkung auf Bars3DNode, das die Skalierung auf der horizontalen Ebene über die Eigenschaften barThickness und barSpacing handhabt. Polardiagramme ignorieren diese Eigenschaft ebenfalls.
Siehe auch aspectRatio, polar, Bars3DNode::barThickness, und Bars3DNode::barSpacing.
labelMargin : real
Diese Eigenschaft gibt den Rand für die Platzierung der Achsenbeschriftungen an.
Negative Werte platzieren die Beschriftungen innerhalb des Plotbereichs, während positive Werte sie außerhalb des Plotbereichs platzieren. Die automatische Drehung der Beschriftungen ist deaktiviert, wenn der Wert negativ ist. Standardwert ist 0.1
Siehe auch QAbstract3DAxis::labelAutoAngle.
locale : locale
Legt das Gebietsschema fest, das für die Formatierung verschiedener numerischer Bezeichnungen verwendet wird. Standardmäßig wird das Gebietsschema "C" verwendet.
Siehe auch Value3DAxis::labelFormat.
margin : real
Der absolute 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 der Art des Diagramms variieren. Der Wert wird als Bruchteil des y-Achsenbereichs interpretiert, wenn die Seitenverhältnisse des Diagramms gegenüber den Standardwerten nicht geändert wurden. 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 Randbeschriftungen der Achsen angepasst, um eine Überlappung mit den Randbeschriftungen der benachbarten Achsen zu vermeiden.
multiSeriesUniform : bool
Legt fest, ob Balken mit Proportionen skaliert werden sollen, die auf einen einzelnen Serienbalken eingestellt sind, auch wenn mehrere Serien angezeigt werden. Bei der Einstellung true wird bar spacing nur auf die X-Achse korrekt angewendet. Standardmäßig auf false voreingestellt.
optimizationHint : Graphs3D.OptimizationHint
Gibt an, ob der Standard- oder Legacy-Modus für die Rendering-Optimierung verwendet wird.
Der Standardmodus verwendet instanziertes Rendering und bietet den vollen Funktionsumfang bei bester Leistung auf den meisten Systemen. Der statische Modus optimiert das Rendering von Diagrammen und ist ideal für große, sich nicht ändernde 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. 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 Voreinstellung ist Default.
Hinweis: In manchen Umgebungen können große Graphen 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 Objektmesh mit einer niedrigen Vertexanzahl oder verwenden Sie das Punktmesh.
Siehe auch Abstract3DSeries::mesh und Graphs3D.OptimizationHint.
polar : bool
Wenn true, werden die horizontalen Achsen in polare Achsen umgewandelt. Die x-Achse wird zur Winkelachse und die z-Achse wird zur Radialachse. Der Polarmodus ist für Balkendiagramme nicht verfügbar.
Die Standardeinstellung ist false.
Siehe auch radialLabelOffset.
primarySeries : Bar3DSeries
Die primäre Reihe des Diagramms. Sie wird zur Bestimmung der Zeilen- und Spaltenachsenbeschriftungen verwendet, wenn die Beschriftungen nicht explizit auf die Achsen gesetzt werden.
Wenn die angegebene Reihe noch nicht zum Diagramm hinzugefügt wurde, wird sie durch die Festlegung als primäre Reihe auch implizit zum Diagramm hinzugefügt.
Wenn die primäre Reihe selbst aus dem Diagramm entfernt wird, wird diese Eigenschaft auf den Standardwert zurückgesetzt.
Wenn die Serie null ist, wird diese Eigenschaft auf den Standardwert zurückgesetzt. Der Standardwert ist die erste hinzugefügte Reihe oder Null, wenn dem Diagramm keine Reihen hinzugefügt werden.
queriedGraphPosition : vector3d [read-only]
Diese schreibgeschützte Eigenschaft enthält die letzten Werte der Diagrammposition entlang jeder Achse, die mit Scene3D::graphPositionQuery abgefragt wurden. Die Werte sind auf den Bereich [-1, 1] normalisiert. Wenn die abgefragte Position außerhalb der Diagrammgrenzen lag, spiegeln die Werte nicht die tatsächliche Position wider, sondern eine undefinierte Position außerhalb des Bereichs [-1, 1]. 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: Bei Balkendiagrammen ist die Abfrage der Diagrammposition nur auf der Ebene des Diagrammbodens möglich, so dass der y-Wert bei Balkendiagrammen immer Null ist und gültige Abfragen nur an Bildschirmpositionen vorgenommen werden können, die den Boden des Diagramms enthalten.
Siehe auch Scene3D::graphPositionQuery.
radialLabelOffset : real
Diese Eigenschaft gibt den normierten horizontalen Versatz für die Achsenbeschriftungen der radialen Polarachse an. 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 gibt an, dass die Beschriftungen an ihrem üblichen Platz am Rand des Diagrammhintergrunds gezeichnet werden. Diese Eigenschaft wird ignoriert, wenn der Wert der Polareigenschaft false lautet. Der Standardwert ist 1.0.
Siehe auch polar.
rowAxis : Category3DAxis
Die aktive Zeilenachse.
Wenn keine Achse angegeben wird, wird eine temporäre Standardachse ohne Beschriftung erstellt. Diese temporäre Achse wird zerstört, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.
selectedElement : Graphs3D.ElementType [read-only]
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 einer benutzerdefinierten Eingabebehandlung verwendet werden, wie im Beispiel Achsenbehandlung 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 selectionMode das Flag SelectionMultiSeries gesetzt hat, enthält diese Eigenschaft die Serie, die den ausgewählten Balken besitzt.
selectionMode : Graphs3D.SelectionMode
Der aktive Auswahlmodus im Diagramm. Einer der graphs3d.selectionflag enum-Werte.
seriesList : list<Bar3DSeries> [default]
Die Serien 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 Kinder des Diagramms.
theme : GraphsTheme
Das aktive Thema des Diagramms.
Siehe auch GraphsTheme.
valueAxis : ValueAxis3D
Die aktive Wertachse.
Wird keine Achse angegeben, so wird eine temporäre Standardachse ohne Beschriftung und mit einem sich automatisch anpassenden Bereich erstellt. Diese temporäre Achse wird zerstört, wenn eine andere Achse explizit auf dieselbe Ausrichtung gesetzt wird.
Signal-Dokumentation
barSeriesMarginChanged(size margin)
Dieses Signal wird ausgegeben, wenn barSeriesMargin zu margin wechselt.
Hinweis: Der entsprechende Handler ist onBarSeriesMarginChanged.
barSpacingChanged(size spacing)
Dieses Signal wird ausgegeben, wenn barSpacing zu spacing wechselt.
Hinweis: Der entsprechende Handler ist onBarSpacingChanged.
barSpacingRelativeChanged(bool relative)
Dieses Signal wird ausgegeben, wenn barSpacingRelative zu relative wechselt.
Hinweis: Der entsprechende Handler ist onBarSpacingRelativeChanged.
barThicknessChanged(real thicknessRatio)
Dieses Signal wird ausgegeben, wenn barThickness zu thicknessRatio wechselt.
Hinweis: Der entsprechende Handler ist onBarThicknessChanged.
columnAxisChanged(Category3DAxis axis)
Dieses Signal wird ausgegeben, wenn columnAxis zu axis wechselt.
Hinweis: Der entsprechende Handler ist onColumnAxisChanged.
floorLevelChanged(real level)
Dieses Signal wird ausgegeben, wenn floorLevel zu level wechselt.
Hinweis: Der entsprechende Handler ist onFloorLevelChanged.
multiSeriesUniformChanged(bool uniform)
Dieses Signal wird ausgegeben, wenn multiSeriesUniform zu uniform wechselt.
Hinweis: Der entsprechende Handler ist onMultiSeriesUniformChanged.
primarySeriesChanged(Bar3DSeries series)
Dieses Signal wird ausgegeben, wenn primarySeries zu series wechselt.
Hinweis: Der entsprechende Handler ist onPrimarySeriesChanged.
rowAxisChanged(Category3DAxis axis)
Dieses Signal wird ausgegeben, wenn rowAxis zu axis wechselt.
Hinweis: Der entsprechende Handler ist onRowAxisChanged.
selectedSeriesChanged(Bar3DSeries series)
Dieses Signal wird ausgegeben, wenn selectedSeries zu series wechselt.
Hinweis: Der entsprechende Handler ist onSelectedSeriesChanged.
valueAxisChanged(ValueAxis3D axis)
Dieses Signal wird ausgegeben, wenn valueAxis zu axis wechselt.
Hinweis: Der entsprechende Handler ist onValueAxisChanged.
Dokumentation der Methode
qsizetype addCustomItem(Custom3DItem item)
Fügt dem Diagramm ein Custom3DItem item hinzu. Graph übernimmt das Eigentum an dem hinzugefügten Element.
Gibt den Index des hinzugefügten Elements zurück, wenn add 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.
Siehe auch removeCustomItems(), removeCustomItem(), und removeCustomItemAt().
void addSeries(Bar3DSeries series)
Fügt die series zum Diagramm hinzu. Ein Diagramm kann mehrere Reihen enthalten, aber nur einen Satz Achsen, so dass die Zeilen und Spalten aller Reihen übereinstimmen müssen, damit die visualisierten Daten sinnvoll sind. Wenn das Diagramm mehrere sichtbare Reihen enthält, erzeugt nur die erste hinzugefügte Reihe die Zeilen- oder Spaltenbeschriftungen auf den Achsen, wenn die Beschriftungen nicht explizit für die Achsen festgelegt wurden. Wenn für die neu hinzugefügte Reihe ein ausgewählter Balken angegeben wurde, wird dieser hervorgehoben, und eine vorhandene Auswahl wird gelöscht. Nur eine hinzugefügte Reihe kann eine aktive Auswahl haben.
Siehe auch GraphsNode::hasSeries().
void clearSelection()
Löscht die Auswahl aus allen angehängten Serien.
void doPicking(QPoint point)
Führt die Auswahl unter Verwendung der Ansichtskoordinaten von point auf den Elementen des Diagramms durch, wobei das erste getroffene Element ausgewählt wird. Die Standard-Eingabeverarbeitung führt dies beim Empfang des onTapped-Ereignisses durch.
Siehe auch selectedElement.
void doRayPicking(QVector3D origin, QVector3D direction)
Führt das Picking ab origin und in direction auf den Elementen des Diagramms durch, wobei das erste getroffene Element ausgewählt wird.
Siehe auch selectedElement.
bool hasSeries(Abstract3DSeries series)
Gibt zurück, ob die Seite series bereits zum Diagramm hinzugefügt wurde.
void insertSeries(int index, Bar3DSeries series)
Fügt series an der Position index in die Serienliste ein. Wurde die Serie series bereits in die Liste aufgenommen, wird sie an die neue Position index verschoben.
Hinweis: Wenn eine Serie an eine neue index verschoben wird, die nach ihrem alten Index liegt, wird die neue Position in der Liste so berechnet, als befände sich die Serie noch an ihrem alten Index, so dass der endgültige Index tatsächlich der um eins verringerte index ist.
Siehe auch GraphsNode::hasSeries().
void releaseCustomItem(Custom3DItem item)
Holt den Besitz von item zurück und entfernt item aus dem Diagramm.
Hinweis: Wenn dasselbe Element wieder zum Diagramm hinzugefügt wird, muss die Texturdatei neu gesetzt werden.
Siehe auch Custom3DItem::textureFile.
void removeCustomItem(Custom3DItem item)
Entfernt die benutzerdefinierte item. Löscht die ihm zugewiesenen Ressourcen.
void removeCustomItemAt(vector3d position)
Entfernt alle benutzerdefinierten Elemente auf 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 die series aus dem Diagramm.
Siehe auch GraphsNode::hasSeries().
Abstract3DAxis selectedAxis()
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 die ausgewählte Achse oder Null zurück.
Siehe auch selectedElement.
Custom3DItem selectedCustomItem()
Kann verwendet werden, um das ausgewählte benutzerdefinierte Element nach Erhalt des Signals selectedElementChanged mit dem Typ ElementType.CustomItem zu erhalten. Das Eigentum an dem Element verbleibt beim Diagramm. 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 das Signal selectedElementChanged mit dem Typ ElementType.CustomItem empfangen wurde. Die Auswahl ist bis zum nächsten selectedElementChanged Signal gültig.
Gibt den Index des ausgewählten benutzerdefinierten Eintrags oder -1 zurück.
Siehe auch selectedElement.
int selectedLabelIndex()
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 Etiketts 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.