CustomSeries QML Type
Le type CustomSeries permet de présenter des types de graphiques personnalisés. Plus d'informations...
| 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. Il s'agit d'un graphique de dispersion qui vous permet d'accéder à des données personnalisées pour chaque élément.
CustomSeries définit un délégué qui est utilisé pour rendre chaque élément ajouté au graphique. Chaque élément comprend des données définies par l'utilisateur et stockées dans un fichier 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 des variantes est définie par un objet JavaScript. La série transmet cette carte à chaque élément créé sur la base 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 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. C'est pourquoi vous ne pouvez pas mettre en œuvre une série de lignes personnalisées.

Le code suivant met en œuvre le graphique personnalisé décrit. Dans ce cas, les données personnalisées contiennent deux valeurs : supérieure et inférieure. Celles-ci sont ensuite définies dans le délégué pour affecter 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é est utilisé pour insérer dans QML des éléments correspondant aux données personnalisées fournies. Les données sont définies dans le site CustomSeries lui-même et transmises aux éléments délégués par l'intermédiaire de 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()
Efface tous les éléments de 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 x les coordonnées de l'espace-axe converties dans l'espace de rendu.
real mapY(real y)
Renvoie y les coordonnées de l'espace-axe converties dans l'espace de rendu.
void remove(int index)
Supprimer un élément de données à 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.