CustomSeries QML Type
Le type CustomSeries permet d'afficher des types de graphiques personnalisés. En savoir plus...
| Import Statement: | import QtGraphs |
| Since: | Qt 6.11 |
| In C++: | QCustomSeries |
Propriétés
- delegate : Component
Méthodes
- void append()
- void append(var data)
- void clear()
- void insert(int index)
- void insert(int index, var data)
- real mapX(real x)
- real mapY(real y)
- void remove(int index)
Description détaillée
Utilisez CustomSeries pour créer des graphiques personnalisés. Considérez-le comme un nuage de points qui vous permet d'accéder à des données personnalisées pour chaque élément.
CustomSeries définit un délégué utilisé pour afficher chaque élément ajouté au graphique. Chaque élément comprend des données définies par l'utilisateur et stockées dans une carte de variantes ( QVariantMap). L'index de l'élément dans le graphique est également ajouté automatiquement à la carte de données. Dans le contexte QML, la carte de variantes est définie par un objet JavaScript. La série transmet cette carte à chaque élément créé à partir du délégué. Le délégué détermine comment utiliser les données.
Pour mapper les données aux coordonnées de rendu définies par les axes de l'GraphsView, utilisez les fonctions ` mapX ` et ` mapY `.
Remarque : actuellement , les éléments individuels d’une série personnalisée ne partagent pas d’informations entre eux. Pour cette raison, vous ne pouvez pas implémenter une série de lignes personnalisée.

Le code suivant implémente le graphique personnalisé illustré. Dans ce cas, les données personnalisées contiennent deux valeurs : « upper » et « lower ». Celles-ci sont ensuite définies dans le délégué afin de déterminer la hauteur et la coordonnée y de l’élément.
import QtQuick
import QtGraphs
Window {
width: 640
height: 480
visible: true
GraphsView {
anchors.fill: parent
axisX: BarCategoryAxis {
categories: ["ABC", "DEF"]
}
axisY: ValueAxis {
max: 8
tickInterval: 1
}
CustomSeries {
id: custom
delegate: Rectangle {
property var data
gradient: Gradient {
GradientStop { position: 0.0; color: "lightsteelblue" }
GradientStop { position: 1.0; color: "blue" }
}
border.width: 1
x: custom.mapX(data.index + 0.5) - width * 0.5
y: custom.mapY((data.upper + data.lower) * 0.5) - height * 0.5
width: Math.abs(custom.mapX(1) - custom.mapX(0)) * 0.5
height: Math.abs(custom.mapY(data.upper) - custom.mapY(data.lower))
}
CustomSeriesData {
data: ({
upper: 5,
lower: 1
})
}
CustomSeriesData {
data: ({
upper: 6,
lower: 4
})
}
}
}
}Documentation sur les propriétés
delegate : Component
Le délégué sert à insérer dans le code QML des éléments correspondant aux données personnalisées fournies. Ces données sont définies dans l’ CustomSeries e lui-même et transmises aux éléments délégués via la propriété « data ».
delegate: Rectangle {
property var data
Rectangle {
color: "tan"
border.color: "black"
border.width: 4
y: series.mapY(data.index + 1) - height / 2 + 1
x: series.mapX(data.median) - width / 2
height: 32
width: Math.abs(series.mapX(data.upperQuartile) - series.mapX(data.lowerQuartile))
}
}
}Documentation de la méthode
void append()
Ajoute un élément de données vide à la série.
void append(var data)
Ajoute à la série un élément de données défini par data.
void clear()
Effacer toutes les données.
void insert(int index)
Ajoute un élément de données vide à la série à la position index.
void insert(int index, var data)
Ajoute un élément de données défini par ` data ` à la série à la position ` index`.
real mapX(real x)
Renvoie la coordonnée de l'x e dans l'espace des axes, convertie dans l'espace de rendu.
real mapY(real y)
Renvoie la coordonnée de l'y, exprimée dans l'espace des axes, convertie dans l'espace de rendu.
void remove(int index)
Supprimer un élément de données situé à la position index.
© 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.