Bars3DNode QML Type
Nœud « graphique à barres 3D ». En savoir plus…
| Import Statement: | import QtGraphs |
| Inherits: |
- Liste de tous les membres, y compris les membres hérités
- Bars3DNode fait partie des types QML 3D d'Qt Graphs .
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 d'afficher un nœud de graphique à barres en 3D à l'aide de Qt Quick.
Pour utiliser ce type, vous devrez importer le module Qt Graphs:
import QtGraphsVous pourrez ensuite 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 également les classes C++ pour la 3D:Bar3DSeries, ItemModelBarDataProxy, Scatter3DNode, Surface3DNode et Qt Graphs .
Documentation sur les propriétés
aspectRatio : real
Rapport d'échelle du graphique entre l'axe le plus long sur le plan horizontal et l'axe des y. La valeur par défaut est 2.0.
Remarque : n'a aucun effet sur ` Bars3D`.
Voir également horizontalAspectRatio.
barSeriesMargin : size
Marge entre les colonnes d'une série dans les dimensions X et Z. Valeur par défaut : (0.0, 0.0). Les valeurs recommandées se situent dans l'intervalle [0, 1).
barSpacing : size
Espacement des barres dans les axes X et Z.
Réglé par défaut sur « (1.0, 1.0) ». L'espacement est influencé par la propriété « barSpacingRelative ».
barSpacingRelative : bool
Si l'espacement est absolu ou relatif à l'épaisseur des barres.
Si l'true, la valeur « 0.0 » signifie que les barres sont placées côte à côte, « 1.0 » signifie qu'un espace égal à l'épaisseur d'une barre est laissé entre les barres, et ainsi de suite. La valeur par défaut est « true ».
barThickness : real
Rapport d'épaisseur des barres entre les dimensions X et Z. La valeur « 1.0 » signifie que les barres ont une largeur égale à leur profondeur, tandis que « 0.5 » indique qu'elles sont deux fois plus profondes que larges.
columnAxis : Category3DAxis
L'axe de colonne actif.
Si aucun axe n'est spécifié, un axe temporaire par défaut sans étiquettes est créé. Cet axe temporaire est supprimé 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 prend possession des éléments ajoutés.
floorLevel : real
Niveau de base du graphique à barres selon les coordonnées de l'axe Y.
Le niveau de base réel sera limité par les valeurs minimales et maximales de l'axe Y. La valeur par défaut est zéro.
gridLineType : Graphs3D.GridLineType
Détermine si le type des lignes de la grille est « Graphs3D.GridLineType.Shader » ou « Graphs3D.GridLineType.Geometry ».
Cette valeur s'applique à toutes les lignes de la grille.
Voir également Graphs3D.GridLineType.
horizontalAspectRatio : real
Rapport d'échelle entre l'axe des x et l'axe des z dans le graphique. La valeur « 0.0 » indique une mise à l'échelle automatique en fonction des plages des axes. La valeur par défaut est « 0.0 ».
Remarque : n'a aucun effet sur la propriété ` 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é définit la marge pour le positionnement 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 celle-ci. 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 les paramètres régionaux utilisés pour le formatage de diverses étiquettes numériques. La valeur par défaut est la locale "C".
Voir également Value3DAxis::labelFormat.
margin : real
Valeur absolue définissant l'espace laissé entre le bord de la zone de tracé du graphique 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 l'étendue de l'axe des y si les proportions du graphique n'ont pas été modifiées par rapport aux valeurs par défaut. La valeur par défaut est -1.0.
Remarque : le fait de définir une marge inférieure à celle déterminée automatiquement pour un graphique de nuages de points peut entraîner un chevauchement des éléments situés aux bords du graphique avec l’arrière-plan de celui-ci.
Remarque : sur les graphiques de nuages de points et de surface, si la marge est petite par rapport à la taille des étiquettes d’axe, la position des étiquettes situées aux bords des axes est ajustée pour éviter tout chevauchement avec les étiquettes des axes voisins.
multiSeriesUniform : bool
Détermine si les barres doivent être mises à l'échelle en respectant les proportions d'une seule série, même si plusieurs séries sont affichées. Si l'option « true » est sélectionnée, la fonction « bar spacing » ne s'appliquera correctement qu'à l'axe 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 offre l'ensemble complet des fonctionnalités avec les meilleures performances sur la plupart des systèmes. Le mode statique optimise le rendu du graphique et est idéal pour les grands ensembles de données immuables. Il est plus lent en cas de modifications dynamiques des données et de rotations des éléments. La sélection n’étant pas optimisée, il n’est pas recommandé d’utiliser le mode statique avec des ensembles de données volumineux. Le mode hérité effectue le rendu de tous les éléments du graphe 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 ».
Remarque : dans certains environnements, les graphes volumineux utilisant l’optimisation statique peuvent ne pas s’afficher, car tous les éléments sont rendus à l’aide d’un seul appel de dessin, et les différents pilotes graphiques prennent en charge des nombres maximaux de sommets par appel variables. Ce problème se pose principalement sur les plateformes 32 bits et OpenGL ES2. Pour contourner ce problème, choisissez un maillage d’élément avec un faible nombre de sommets ou utilisez le maillage de points.
Voir également Abstract3DSeries::mesh et Graphs3D.OptimizationHint.
polar : bool
Si true, les axes horizontaux sont remplacés par des 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 graphiques à barres.
La valeur par défaut est « false ».
Voir également radialLabelOffset.
primarySeries : Bar3DSeries
La série principale du graphique. Elle sert à déterminer les libellés des axes des lignes et des colonnes lorsque ceux-ci ne sont pas explicitement définis sur 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 principale l'ajoutera implicitement au graphique.
Si la série principale elle-même est supprimée du graphique, cette propriété revient à sa valeur par défaut.
Si la série est nulle, cette propriété revient à sa valeur 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ées à l'aide de la méthode Scene3D::graphPositionQuery. Les valeurs sont normalisées pour s'inscrire dans l'intervalle [-1, 1]. Si la position interrogée se trouvait en dehors des limites du graphique, les valeurs ne refléteront pas la position réelle, mais correspondront plutôt à une position indéfinie située en dehors de l'intervalle [-1, 1]. La valeur restera indéfinie jusqu'à ce qu'une requête soit effectuée.
Il n’existe pas de coordonnée 3D unique et correcte correspondant à une position particulière à l’écran ; par conséquent, par souci de cohérence, les requêtes sont toujours effectuées par rapport aux côtés intérieurs d’un rectangle invisible entourant le graphique.
Remarque : les graphiquesà barres ne permettent d’interroger la position du graphique qu’au niveau de la base de celui-ci ; ainsi, la valeur y est toujours nulle pour les graphiques à barres et les requêtes valides ne peuvent être effectuées qu’à des positions à l’écran qui contiennent la base 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 tracées à côté de la ligne de grille angulaire correspondant à l'angle 0. La valeur 1.0 indique que les étiquettes sont tracées à leur emplacement habituel, au bord de l'arrière-plan 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 des lignes actif.
Si aucun axe n'est spécifié, un axe temporaire par défaut sans étiquettes est créé. Cet axe temporaire est supprimé 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 graphe.
Cette propriété permet de récupérer le type de l'élément sélectionné. Ce type reste valable jusqu'à ce qu'une nouvelle sélection soit effectuée dans le graphique et que le signal « selectedElementChanged » soit émis.
Ce signal peut être utilisé, par exemple, pour implémenter une gestion personnalisée des entrées, comme le montre l'exemple « Axis Handling ».
Voir également 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 dispose du drapeau SelectionMultiSeries, cette propriété contient la série à laquelle appartient la barre sélectionnée.
selectionMode : Graphs3D.SelectionMode
Mode de sélection actif dans le graphique. L'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, utilisez la fonction ` addSeries()` ou définissez-les en tant qu'éléments enfants du graphique.
theme : GraphsTheme
Thème actif du graphique.
Voir aussi GraphsTheme.
valueAxis : ValueAxis3D
L'axe de valeur actif.
Si aucun axe n'est spécifié, un axe temporaire par défaut, sans étiquettes et dont la plage s'ajuste automatiquement, est créé. Cet axe temporaire est supprimé 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.
Remarque : le gestionnaire correspondant est onBarSeriesMarginChanged.
barSpacingChanged(size spacing)
Ce signal est émis lorsque barSpacing devient spacing.
Remarque : le gestionnaire correspondant est onBarSpacingChanged.
barSpacingRelativeChanged(bool relative)
Ce signal est émis lorsque barSpacingRelative devient relative.
Remarque : le gestionnaire correspondant est onBarSpacingRelativeChanged.
barThicknessChanged(real thicknessRatio)
Ce signal est émis lorsque barThickness devient thicknessRatio.
Remarque : le gestionnaire correspondant est onBarThicknessChanged.
columnAxisChanged(Category3DAxis axis)
Ce signal est émis lorsque columnAxis devient axis.
Remarque : le gestionnaire correspondant est onColumnAxisChanged.
floorLevelChanged(real level)
Ce signal est émis lorsque floorLevel devient level.
Remarque : le gestionnaire correspondant est onFloorLevelChanged.
multiSeriesUniformChanged(bool uniform)
Ce signal est émis lorsque multiSeriesUniform devient uniform.
Remarque : le gestionnaire correspondant est onMultiSeriesUniformChanged.
primarySeriesChanged(Bar3DSeries series)
Ce signal est émis lorsque primarySeries devient series.
Remarque : le gestionnaire correspondant est onPrimarySeriesChanged.
rowAxisChanged(Category3DAxis axis)
Ce signal est émis lorsque rowAxis devient axis.
Remarque : le gestionnaire correspondant est onRowAxisChanged.
selectedSeriesChanged(Bar3DSeries series)
Ce signal est émis lorsque selectedSeries devient series.
Remarque : le gestionnaire correspondant est onSelectedSeriesChanged.
valueAxisChanged(ValueAxis3D axis)
Ce signal est émis lorsque valueAxis devient axis.
Remarque : le gestionnaire correspondant est onValueAxisChanged.
Documentation de la méthode
qsizetype addCustomItem(Custom3DItem item)
Ajoute un objet de type « Custom3DItem » item au graphe. Le graphe 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 tente d’ajouter un élément nul, et l’index de l’élément si l’on tente d’ajouter un élément déjà présent.
Voir également removeCustomItems(), removeCustomItem() et removeCustomItemAt().
void addSeries(Bar3DSeries series)
Ajoute l'series e au graphique. Un graphique peut contenir plusieurs séries, mais un seul jeu d'axes ; les lignes et les colonnes de toutes les séries doivent donc correspondre pour que les données visualisées aient un sens. Si le graphique comporte plusieurs séries visibles, seule la première série ajoutée générera les étiquettes de ligne ou de colonne sur les axes lorsque celles-ci 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 surbrillance 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 associées.
void doPicking(QPoint point)
Effectue une sélection à l'aide des coordonnées de la vue fournies par point sur les éléments du graphique, en choisissant le premier élément touché. Le traitement par défaut des entrées effectue cette opération à la réception de l'événement onTapped.
Voir également selectedElement.
void doRayPicking(QVector3D origin, QVector3D direction)
Effectue une sélection à partir de ` origin ` et selon la fonction ` direction ` sur les éléments du graphe, en choisissant le premier élément trouvé.
Voir également selectedElement.
bool hasSeries(Abstract3DSeries series)
Indique si l'series e a déjà été ajouté au graphe.
void insertSeries(int index, Bar3DSeries series)
Insère l'series à la position index dans la liste des séries. Si l'series a déjà été ajoutée à la liste, elle est déplacée vers la nouvelle index.
Remarque : lorsque l'on déplace une série vers une nouvelle index située après son ancien index, la nouvelle position dans la liste est calculée comme si la série se trouvait toujours à son ancien index ; l'index final correspond donc en réalité à index diminué d'un.
Voir également GraphsNode::hasSeries().
void releaseCustomItem(Custom3DItem item)
Récupère la propriété de item et supprime l’ item du graphe.
Remarque : si le même élément est rajouté au graphe, le fichier de texture doit être redéfini.
Voir également Custom3DItem::textureFile.
void removeCustomItem(Custom3DItem item)
Supprime l'item e personnalisée. Supprime les ressources qui lui sont allouées.
void removeCustomItemAt(vector3d position)
Supprime tous les éléments personnalisés disponibles à 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 l'series e du graphique.
Voir aussi GraphsNode::hasSeries().
Abstract3DAxis selectedAxis()
Permet d'obtenir l'axe sélectionné après réception d'un signal « selectedElementChanged » avec n'importe quel type d'étiquette. La sélection reste valable jusqu'au prochain signal « selectedElementChanged ».
Renvoie l’axe sélectionné, ou null.
Voir également selectedElement.
Custom3DItem selectedCustomItem()
Permet d'obtenir l'élément personnalisé sélectionné après réception d'un signal « selectedElementChanged » de type « ElementType.CustomItem ». La propriété de l'élément reste celle du graphe. La sélection reste valable jusqu'au prochain signal « selectedElementChanged ».
Renvoie l’élément personnalisé sélectionné, ou null.
Voir également selectedElement.
qsizetype selectedCustomItemIndex()
Permet d'interroger l'index de l'élément personnalisé sélectionné après réception d'un signal « selectedElementChanged » de type « ElementType.CustomItem ». La sélection reste valide jusqu'au prochain signal « selectedElementChanged ».
Renvoie l'index de l'élément personnalisé sélectionné, ou -1.
Voir également selectedElement.
int selectedLabelIndex()
Permet d'interroger l'index de l'étiquette sélectionnée après réception d'un signal « selectedElementChanged », quel que soit le type d'étiquette. La sélection reste valide jusqu'au prochain signal « selectedElementChanged ».
Renvoie l'index de l'étiquette sélectionnée, ou -1.
Voir également 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.