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.
Eigenschaft Dokumentation
aspectRatio : real |
Das Verhältnis der Grafikskalierung 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 |
Abstand zwischen den Spalten der Reihe in den Dimensionen X und Z. Standardmäßig auf (0.0, 0.0)
voreingestellt. Sinnvolle Werte liegen im Bereich [0,1].
barSpacing : size |
Balkenabstand in der X- und Z-Dimension.
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 platziert werden, 1.0
bedeutet, dass zwischen den Balken ein Abstand von der Dicke eines Balkens gelassen wird, und so weiter. Voreingestellt auf true
.
barThickness : real |
Das Verhältnis der Balkenstärke 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 Rasterlinien 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. Der Standardwert 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 legt den Rand für die Platzierung der Achsenbeschriftungen fest.
Negative Werte platzieren die Beschriftungen innerhalb des Plot-Bereichs, positive Werte außerhalb des Plot-Bereichs. 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 Beschriftungen 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 Wert für den Rand 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 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 die Positionen der Achsenkantenbeschriftungen angepasst, um eine Überlappung mit den Achsenkantenbeschriftungen der benachbarten Achsen zu vermeiden, wenn der Rand im Vergleich zur Achsenbeschriftungsgröße klein ist.
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 verä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 Sie true
verwenden, 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 wurden.
queriedGraphPosition : vector3d |
Diese schreibgeschützte Eigenschaft enthält die letzten Positionswerte des Diagramms 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 0-Winkel-Winkelachsen-Gitterlinie 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 |
Das im Diagramm ausgewählte Element.
Mit dieser Eigenschaft kann der Typ des ausgewählten Elements abgefragt 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. zur 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 |
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> |
Die Serie des Diagramms. Standardmäßig enthält diese Eigenschaft eine leere Liste. Um die Serien 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.
Wenn keine Achse angegeben wird, wird eine temporäre Standardachse ohne Beschriftung und mit einem automatisch anpassbaren 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 ausgesendet, 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 Achse) |
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
.
Methode Dokumentation
qsizetype addCustomItem(Custom3DItem item) |
Fügt ein Custom3DItem item zum Graph 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 dem Diagramm das Element series hinzu. Ein Diagramm kann mehrere Reihen enthalten, aber nur einen Achsensatz, 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 hinzugefügten Reihen.
void doPicking(QPoint point) |
Führt die Auswahl unter Verwendung der Ansichtskoordinaten von point auf den Elementen des Diagramms durch und wählt das erste getroffene Element aus. Die Standard-Eingabebehandlung führt dies beim Empfang des onTapped-Ereignisses durch.
Siehe auch selectedElement.
void doRayPicking(QVector3D origin, QVector3D direction) |
Führt das Picking ausgehend von origin und direction auf den Elementen des Diagramms durch und wählt das erste getroffene Element aus.
Siehe auch selectedElement.
bool hasSeries(Abstract3DSeries series) |
Gibt zurück, ob das Element series bereits dem 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 zur Liste hinzugefügt, wird sie an die neue Position index verschoben.
Hinweis: Wenn eine Reihe 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 Reihe 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 das benutzerdefinierte 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) |
Entfernt 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 dem Empfang des Signals selectedElementChanged
mit dem Typ ElementType.CustomItem zu erhalten. Der Besitz des Elements bleibt 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 nach dem Empfang des Signals selectedElementChanged
mit einem beliebigen Etikettentyp abzufragen. 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.
© 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.