XmlListModel QML Type
Permet de spécifier un modèle en lecture seule à l'aide de données XML. Plus d'informations...
| Import Statement: | import QtQml.XmlListModel |
Propriétés
- count : int
- progress : real
- query : string
- roles : list<XmlListModelRole>
- source : url
- status : enumeration
Méthodes
- string errorString()
- void reload()
Description détaillée
Pour utiliser cet élément, vous devez importer le module avec la ligne suivante :
import QtQml.XmlListModel
XmlListModel est utilisé pour créer un modèle en lecture seule à partir de données XML. Il peut être utilisé comme source de données pour les éléments de vue (tels que ListView, PathView, GridView) et d'autres éléments qui interagissent avec les données du modèle (tels que Repeater).
Remarque : ce modèle ne prend pas en charge les requêtes XPath. Il prend en charge les chemins d'accès simples séparés par des barres obliques et, éventuellement, un attribut pour chaque élément.
Par exemple, s'il existe un document XML à l'adresse https://www.qt.io/blog/rss.xml tel que celui-ci :
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> ... <channel> <item> <title>Qt 6.0.2 Released</title> <link>https://www.qt.io/blog/qt-6.0.2-released</link> <pubDate>Wed, 03 Mar 2021 12:40:43 GMT</pubDate> </item> <item> <title>Qt 6.1 Beta Released</title> <link>https://www.qt.io/blog/qt-6.1-beta-released</link> <pubDate>Tue, 02 Mar 2021 13:05:47 GMT</pubDate> </item> <item> <title>Qt Creator 4.14.1 released</title> <link>https://www.qt.io/blog/qt-creator-4.14.1-released</link> <pubDate>Wed, 24 Feb 2021 13:53:21 GMT</pubDate> </item> </channel> </rss>
Un XmlListModel pourrait créer un modèle à partir de ces données, comme ceci :
import QtQml.XmlListModel XmlListModel { id: xmlModel source: "https://www.qt.io/blog/rss.xml" query: "/rss/channel/item" XmlListModelRole { name: "title"; elementName: "title" } XmlListModelRole { name: "pubDate"; elementName: "pubDate" } XmlListModelRole { name: "link"; elementName: "link" } }
La valeur query de "/rss/channel/item" spécifie que le XmlListModel doit générer un élément de modèle pour chaque <item> dans le document XML.
Les objets XmlListModelRole définissent les attributs de l'élément de modèle. Ici, chaque élément de modèle aura les attributs title, pubDate et link qui correspondent aux valeurs title, pubDate et link de l'objet <item> correspondant (voir la documentation XmlListModelRole pour plus d'exemples).
Le modèle peut être utilisé dans un ListView, comme ceci :
ListView { width: 180; height: 300 model: xmlModel delegate: Text { text: title + ": " + pubDate + "; link: " + link } }
Les données de XmlListModel sont chargées de manière asynchrone et status est remplacé par XmlListModel.Ready une fois le chargement terminé. Notez que cela signifie que lorsque XmlListModel est utilisé pour une vue, celle-ci n'est pas remplie tant que le modèle n'est pas chargé.
Documentation sur les propriétés
count : int
Le nombre d'entrées de données dans le modèle.
progress : real
Indique l'état d'avancement du téléchargement de la source de données XML. Cette valeur est comprise entre 0.0 (aucune donnée téléchargée) et 1.0 (toutes les données téléchargées). Si les données XML ne proviennent pas d'une source distante, la progression devient 1.0 dès que les données sont lues.
Notez que lorsque la progression est de 1.0, les données XML ont été téléchargées, mais elles n'ont pas encore été chargées dans le modèle à ce stade. Utilisez la propriété status pour savoir quand les données XML ont été lues et chargées dans le modèle.
Voir également status et source.
query : string
Une chaîne représentant le chemin de base pour la création d'éléments de modèle à partir des objets XmlListModelRole de ce modèle. La requête doit commencer par '/'.
roles : list<XmlListModelRole>
Les rôles à mettre à disposition pour ce modèle.
source : url
L'emplacement de la source de données XML.
status : enumeration
Spécifie l'état de chargement du modèle, qui peut être l'un des suivants :
| Constante | Description |
|---|---|
XmlListModel.Null | Aucune donnée XML n'a été définie pour ce modèle. |
XmlListModel.Ready | Les données XML ont été chargées dans le modèle. |
XmlListModel.Loading | Le modèle est en cours de lecture et de chargement des données XML. |
XmlListModel.Error | Une erreur s'est produite pendant le chargement du modèle. Voir errorString() pour plus de détails sur l'erreur. |
Voir aussi progress.
Documentation de la méthode
string errorString()
Renvoie une description sous forme de chaîne de caractères de la dernière erreur qui s'est produite si status est XmlListModel.Error.
void reload()
Recharge le modèle.
© 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.