Bars3DNode QML Type
Nœud de graphique à barres 3D. Plus d'informations...
| Import Statement: | import QtGraphs |
| Inherits: |
- Liste de tous les membres, y compris les membres hérités
- Bars3DNode fait partie de Qt Graphs QML Types for 3D.
Propriétés
- 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
Signaux
- 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)
Méthodes
- 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()
Description détaillée
Ce type permet aux développeurs de rendre un nœud de graphique à barres en 3D à l'aide de Qt Quick.
Vous devez importer le module Qt Graphs pour utiliser ce type :
import QtGraphs
Ensuite, vous pouvez utiliser Bars3DNode dans vos fichiers qml :
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"; }
}
}Voir aussi Bar3DSeries, ItemModelBarDataProxy, Scatter3DNode, Surface3DNode, et Qt Graphs C++ Classes for 3D.
Documentation sur les propriétés
aspectRatio : real
Le rapport d'échelle du graphique entre l'axe le plus long sur le plan horizontal et l'axe des ordonnées. La valeur par défaut est 2.0.
Remarque : n'a aucun effet sur Bars3D.
Voir aussi horizontalAspectRatio.
barSeriesMargin : size
Marge entre les colonnes de la série dans les dimensions X et Z. La valeur par défaut est (0.0, 0.0). Les valeurs acceptables se situent dans l'intervalle [0,1].
barSpacing : size
Espacement des barres dans les dimensions X et Z.
La valeur par défaut est (1.0, 1.0). L'espacement est affecté par la propriété barSpacingRelative.
barSpacingRelative : bool
Si l'espacement est absolu ou relatif à l'épaisseur de la barre.
Si true, la valeur de 0.0 signifie que les barres sont placées côte à côte, 1.0 signifie qu'un espace aussi large que l'épaisseur d'une barre est laissé entre les barres, et ainsi de suite. Préréglé sur true.
barThickness : real
Le rapport d'épaisseur de la barre entre les dimensions X et Z. La valeur 1.0 signifie que les barres sont aussi larges que profondes, tandis que 0.5 les rend deux fois plus profondes que larges.
columnAxis : Category3DAxis
L'axe de la colonne active.
Si aucun axe n'est fourni, un axe temporaire par défaut sans étiquette est créé. Cet axe temporaire est détruit si un autre axe est explicitement défini avec la même orientation.
customItemList : list<Custom3DItem>
La liste des éléments Custom3DItem ajoutés au graphe. Le graphe est propriétaire des éléments ajoutés.
floorLevel : real
Le niveau de l'étage pour le graphique à barres dans les coordonnées des données de l'axe des Y.
Le niveau réel sera limité par les valeurs minimales et maximales de l'axe des Y. La valeur par défaut est zéro.
gridLineType : Graphs3D.GridLineType
Définit si le type de lignes de la grille est Graphs3D.GridLineType.Shader ou Graphs3D.GridLineType.Geometry.
Cette valeur affecte toutes les lignes de la grille.
Voir également Graphs3D.GridLineType.
horizontalAspectRatio : real
Le rapport d'échelle du graphique entre l'axe des x et l'axe des z. La valeur 0.0 indique une mise à l'échelle automatique en fonction des plages d'axes. La valeur par défaut est 0.0.
Remarque : cette propriété n'a aucun effet sur Bars3DNode, qui gère la mise à l'échelle sur le plan horizontal via les propriétés barThickness et barSpacing. Les graphiques polaires ignorent également cette propriété.
Voir également aspectRatio, polar, Bars3DNode::barThickness, et Bars3DNode::barSpacing.
labelMargin : real
Cette propriété spécifie la marge pour le placement des étiquettes d'axe.
Les valeurs négatives placent les étiquettes à l'intérieur de la zone de tracé, tandis que les valeurs positives les placent à l'extérieur de la zone de tracé. La rotation automatique des étiquettes est désactivée lorsque la valeur est négative. La valeur par défaut est 0.1
Voir également QAbstract3DAxis::labelAutoAngle.
locale : locale
Définit la locale utilisée pour le formatage de diverses étiquettes numériques. La valeur par défaut est la locale "C".
Voir aussi Value3DAxis::labelFormat.
margin : real
Valeur absolue utilisée pour l'espace laissé entre le bord de la zone graphique traçable et le bord de l'arrière-plan du graphique.
Si la valeur de la marge est négative, les marges sont déterminées automatiquement et peuvent varier en fonction de la taille des éléments de la série et du type de graphique. La valeur est interprétée comme une fraction de la plage de l'axe des y si les rapports d'aspect du graphique n'ont pas été modifiés par rapport aux valeurs par défaut. La valeur par défaut est -1.0.
Remarque : si la marge d'un graphique de dispersion est inférieure à la marge déterminée automatiquement, les éléments de dispersion situés sur les bords du graphique risquent de se superposer à l'arrière-plan du graphique.
Remarque : dans les graphiques de dispersion et de surface, si la marge est petite par rapport à la taille des étiquettes d'axe, les positions des étiquettes de bord des axes sont ajustées pour éviter tout chevauchement avec les étiquettes de bord des axes voisins.
multiSeriesUniform : bool
Définit si les barres doivent être mises à l'échelle avec des proportions définies pour une barre de série unique, même si plusieurs séries sont affichées. Si la valeur est true, bar spacing ne sera correctement appliqué qu'à l'axe des X. La valeur par défaut est false.
optimizationHint : Graphs3D.OptimizationHint
Indique si le mode par défaut ou le mode hérité est utilisé pour l'optimisation du rendu.
Le mode par défaut utilise le rendu instancié et fournit l'ensemble des fonctionnalités au meilleur niveau de performance sur la plupart des systèmes. Le mode statique optimise le rendu des graphes et est idéal pour les grands ensembles de données qui ne changent pas. Il est plus lent en cas de modification dynamique des données et de rotation des éléments. La sélection n'étant pas optimisée, il n'est pas conseillé d'utiliser le mode statique avec des ensembles de données volumineux. Le mode hérité rend tous les éléments du graphique individuellement, sans instanciation. Il ne doit être utilisé que si le mode par défaut ne fonctionne pas, c'est-à-dire si le système cible ne prend pas en charge l'instanciation. La valeur par défaut est Default.
Note : Dans certains environnements, les grands graphes utilisant l'optimisation statique peuvent ne pas être rendus, parce que tous les éléments sont rendus en utilisant un seul appel de dessin, et que différents pilotes graphiques supportent différents nombres maximums de vertices par appel. Ce problème se pose principalement sur les plates-formes 32bit et OpenGL ES2. Pour contourner ce problème, choisissez un maillage d'éléments avec un faible nombre de vertex ou utilisez le maillage de points.
Voir aussi Abstract3DSeries::mesh et Graphs3D.OptimizationHint.
polar : bool
Si true, les axes horizontaux sont transformés en axes polaires. L'axe x devient l'axe angulaire et l'axe z devient l'axe radial. Le mode polaire n'est pas disponible pour les diagrammes à barres.
La valeur par défaut est false.
Voir également radialLabelOffset.
primarySeries : Bar3DSeries
La série primaire du graphique. Elle est utilisée pour déterminer les étiquettes des axes des lignes et des colonnes lorsque les étiquettes ne sont pas explicitement définies pour les axes.
Si la série spécifiée n'est pas encore ajoutée au graphique, le fait de la définir comme série primaire l'ajoutera implicitement au graphique.
Si la série primaire elle-même est supprimée du graphique, cette propriété reprend sa valeur par défaut.
Si la série est nulle, cette propriété est réinitialisée par défaut. La valeur par défaut est la première série ajoutée ou zéro si aucune série n'est ajoutée au graphique.
queriedGraphPosition : vector3d [read-only]
Cette propriété en lecture seule contient les dernières valeurs de position du graphique le long de chaque axe interrogé à l'aide de Scene3D::graphPositionQuery. Les valeurs sont normalisées en fonction de l'intervalle [-1, 1]. Si la position interrogée se situe en dehors des limites du graphique, les valeurs ne reflèteront pas la position réelle, mais correspondront à une position indéfinie située en dehors de l'intervalle [-1, 1]. La valeur sera indéfinie jusqu'à ce qu'une requête soit effectuée.
Il n'existe pas de coordonnées 3D correctes correspondant à une position particulière de l'écran. Par conséquent, pour des raisons de cohérence, les requêtes sont toujours effectuées par rapport aux côtés intérieurs d'une boîte invisible entourant le graphique.
Remarque : les graphiques à barres ne permettent d'interroger la position du graphique qu'au niveau du sol du graphique, de sorte que la valeur y est toujours nulle pour les graphiques à barres et que les requêtes valides ne peuvent être effectuées qu'aux positions d'écran qui contiennent le sol du graphique.
Voir également Scene3D::graphPositionQuery.
radialLabelOffset : real
Cette propriété spécifie le décalage horizontal normalisé des étiquettes de l'axe polaire radial. La valeur 0.0 indique que les étiquettes doivent être dessinées à côté de la ligne de grille de l'axe angulaire 0. La valeur 1.0 indique que les étiquettes sont dessinées à leur place habituelle, au bord du fond du graphique. Cette propriété est ignorée si la valeur de la propriété polar est false. La valeur par défaut est 1.0.
Voir également polar.
rowAxis : Category3DAxis
L'axe de la ligne active.
Si aucun axe n'est fourni, un axe temporaire par défaut sans étiquette est créé. Cet axe temporaire est détruit si un autre axe est explicitement défini avec la même orientation.
selectedElement : Graphs3D.ElementType [read-only]
L'élément sélectionné dans le graphique.
Cette propriété peut être utilisée pour demander le type d'élément sélectionné. Le type est valide jusqu'à ce qu'une nouvelle sélection soit effectuée dans le graphique et que le signal selectedElementChanged soit émis.
Le signal peut être utilisé, par exemple, pour mettre en œuvre une gestion personnalisée des entrées, comme le montre l'exemple de la gestion des axes.
Voir aussi selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(), Bars3DNode::selectedSeries, Scatter3DNode::selectedSeries, Scene3D::selectionQueryPosition, et Graphs3D.ElementType.
selectedSeries : Bar3DSeries [read-only]
La série sélectionnée ou null. Si selectionMode a l'indicateur SelectionMultiSeries activé, cette propriété contient la série qui possède la barre sélectionnée.
selectionMode : Graphs3D.SelectionMode
Mode de sélection actif dans le graphique. Une des valeurs de l'énumération graphs3d.selectionflag.
seriesList : list<Bar3DSeries> [default]
Les séries du graphique. Par défaut, cette propriété contient une liste vide. Pour définir les séries, il faut soit utiliser la fonction addSeries(), soit les définir en tant qu'enfants du graphique.
theme : GraphsTheme
Le thème actif du graphique.
Voir aussi GraphsTheme.
valueAxis : ValueAxis3D
L'axe de valeur actif.
Si aucun axe n'est fourni, un axe temporaire par défaut, sans étiquette et avec une plage d'ajustement automatique, est créé. Cet axe temporaire est détruit si un autre axe est explicitement défini avec la même orientation.
Documentation sur les signaux
barSeriesMarginChanged(size margin)
Ce signal est émis lorsque barSeriesMargin devient margin.
Note : Le gestionnaire correspondant est onBarSeriesMarginChanged.
barSpacingChanged(size spacing)
Ce signal est émis lorsque barSpacing devient spacing.
Note : Le gestionnaire correspondant est onBarSpacingChanged.
barSpacingRelativeChanged(bool relative)
Ce signal est émis lorsque barSpacingRelative devient relative.
Note : Le gestionnaire correspondant est onBarSpacingRelativeChanged.
barThicknessChanged(real thicknessRatio)
Ce signal est émis lorsque barThickness devient thicknessRatio.
Note : Le gestionnaire correspondant est onBarThicknessChanged.
columnAxisChanged(Category3DAxis axis)
Ce signal est émis lorsque columnAxis devient axis.
Note : Le gestionnaire correspondant est onColumnAxisChanged.
floorLevelChanged(real level)
Ce signal est émis lorsque floorLevel devient level.
Note : Le gestionnaire correspondant est onFloorLevelChanged.
multiSeriesUniformChanged(bool uniform)
Ce signal est émis lorsque multiSeriesUniform devient uniform.
Note : Le gestionnaire correspondant est onMultiSeriesUniformChanged.
primarySeriesChanged(Bar3DSeries series)
Ce signal est émis lorsque primarySeries devient series.
Note : Le gestionnaire correspondant est onPrimarySeriesChanged.
rowAxisChanged(Category3DAxis axis)
Ce signal est émis lorsque rowAxis devient axis.
Note : Le gestionnaire correspondant est onRowAxisChanged.
selectedSeriesChanged(Bar3DSeries series)
Ce signal est émis lorsque selectedSeries devient series.
Note : Le gestionnaire correspondant est onSelectedSeriesChanged.
valueAxisChanged(ValueAxis3D axis)
Ce signal est émis lorsque valueAxis devient axis.
Note : Le gestionnaire correspondant est onValueAxisChanged.
Documentation de la méthode
qsizetype addCustomItem(Custom3DItem item)
Ajoute un Custom3DItem item au graphique. Le graphique devient propriétaire de l'élément ajouté.
Renvoie l'index de l'élément ajouté si l'ajout a réussi, -1 si l'on essaie d'ajouter un élément nul, et l'index de l'élément si l'on essaie d'ajouter un élément déjà ajouté.
Voir aussi removeCustomItems(), removeCustomItem() et removeCustomItemAt().
void addSeries(Bar3DSeries series)
Ajoute le site series au graphique. Un graphique peut contenir plusieurs séries, mais un seul ensemble d'axes, de sorte que les lignes et les colonnes de toutes les séries doivent correspondre pour que les données visualisées soient significatives. Si le graphique contient plusieurs séries visibles, seule la première série ajoutée génère les étiquettes de ligne ou de colonne sur les axes dans les cas où les étiquettes ne sont pas explicitement définies sur les axes. Si la série nouvellement ajoutée a spécifié une barre sélectionnée, celle-ci sera mise en évidence et toute sélection existante sera effacée. Une seule série ajoutée peut avoir une sélection active.
Voir également GraphsNode::hasSeries().
void clearSelection()
Efface la sélection de toutes les séries attachées.
void doPicking(QPoint point)
Effectue le prélèvement en utilisant les coordonnées de la vue à partir de point sur les éléments du graphique, en sélectionnant le premier élément touché. La gestion des entrées par défaut s'effectue lors de la réception de l'événement onTapped.
Voir également selectedElement.
void doRayPicking(QVector3D origin, QVector3D direction)
Effectue un prélèvement à partir de origin et dans direction sur les éléments du graphique, en sélectionnant le premier élément touché.
Voir aussi selectedElement.
bool hasSeries(Abstract3DSeries series)
Indique si le site series a déjà été ajouté au graphique.
void insertSeries(int index, Bar3DSeries series)
Insère le series à la position index dans la liste des séries. Si la série series a déjà été ajoutée à la liste, elle est déplacée vers la nouvelle index.
Remarque : lorsqu'une série est déplacée vers un nouveau index situé après son ancien index, la nouvelle position dans la liste est calculée comme si la série se trouvait toujours dans son ancien index, de sorte que l'index final est en fait le index décrémenté d'une unité.
Voir aussi GraphsNode::hasSeries().
void releaseCustomItem(Custom3DItem item)
Récupère la propriété de item et supprime item du graphique.
Remarque : si le même élément est réintroduit dans le graphique, le fichier de texture doit être réinitialisé.
Voir aussi Custom3DItem::textureFile.
void removeCustomItem(Custom3DItem item)
Supprime le site personnalisé item. Supprime les ressources qui lui sont allouées.
void removeCustomItemAt(vector3d position)
Supprime tous les éléments personnalisés à l'adresse position. Supprime les ressources qui leur sont allouées.
void removeCustomItems()
Supprime tous les éléments personnalisés. Supprime les ressources qui leur sont allouées.
void removeSeries(Bar3DSeries series)
Supprimez le site series du graphique.
Voir aussi GraphsNode::hasSeries().
Abstract3DAxis selectedAxis()
Peut être utilisé pour obtenir l'axe sélectionné après avoir reçu le signal selectedElementChanged avec n'importe quel type d'étiquette. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'axe sélectionné ou null.
Voir aussi selectedElement.
Custom3DItem selectedCustomItem()
Peut être utilisé pour obtenir l'élément personnalisé sélectionné après avoir reçu un signal selectedElementChanged de type ElementType.CustomItem. L'élément reste la propriété du graphique. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'élément personnalisé sélectionné ou null.
Voir aussi selectedElement.
qsizetype selectedCustomItemIndex()
Peut être utilisé pour demander l'index de l'élément personnalisé sélectionné après avoir reçu le signal selectedElementChanged avec le type ElementType.CustomItem. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'index de l'élément personnalisé sélectionné ou -1.
Voir aussi selectedElement.
int selectedLabelIndex()
Peut être utilisé pour demander l'index de l'étiquette sélectionnée après avoir reçu le signal selectedElementChanged avec n'importe quel type d'étiquette. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'index de l'étiquette sélectionnée ou -1.
Voir aussi 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.