Graphiques avec des données CSV
Comment visualiser les données d'un fichier CSV sur Qt Graphs.

L'exemple de graphiques avec des données CSV montre comment afficher les données d'un fichier CSV dans un diagramme à barres 2D. L'application lit le fichier CSV à l'aide d'un analyseur CSV tiers. Les données sont insérées dans un modèle personnalisé qui hérite du modèle QAbstractTableModel. Une fois les données insérées dans le modèle, la colonne la plus à gauche contient les données de l'en-tête vertical, tandis que la ligne supérieure contient les données de l'en-tête horizontal.
La bibliothèque tierce sélectionnée ne connaît pas le système de ressources Qt et ne peut donc pas charger le fichier CSV à partir du chemin d'accès. Par conséquent, le contenu de la source doit être chargé avant d'être transmis à la bibliothèque. La bibliothèque CSV de cet exemple accepte le fichier sous forme de chemin d'accès, std::fstream ou std::stringstream. Étant donné que le fichier CSV se trouve dans les ressources Qt, la bibliothèque ne sait pas comment le charger, et QFile ne prend pas en charge std::fstream; la seule option restante est d'utiliser std::stringstream. Le fichier entier peut être lu dans une chaîne via QFile::readAll(), puis cette chaîne est ouverte dans une application std::stringstream.
Dans la fenêtre de l'application, un tableau présente les données du modèle. Dans cette vue, l'utilisateur peut sélectionner une sous-section de données qui est ensuite affichée dans le graphique à barres.
Comme la série de barres ne modifie pas les étiquettes des axes de catégorie, la mise à jour de la série ne met pas à jour les étiquettes des axes. Ce problème est traité en JavaScript en extrayant les noms des étiquettes de la colonne la plus à gauche du modèle. Les noms d'étiquettes extraits sont ensuite définis dans la propriété des étiquettes de l'axe des catégories.
function extractBarSetGategories(first, count) { let categories = []; const last = first + count; for (let i = first; i < last; ++i) categories.push(tv.model.headerData(i, Qt.Horizontal, Qt.DisplayRole) + " medals"); return categories; }
Exécution de l'exemple
Pour exécuter l'exemple à partir de Qt Creatorouvrez le mode Welcome et sélectionnez l'exemple à partir de Examples. Pour plus d'informations, voir Qt Creator: Tutoriel : Construire et exécuter.
Voir aussi Applications QML.
© 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.