XmlListModel QML Type
Zur Angabe eines Nur-Lese-Modells mit XML-Daten. Mehr...
Import Statement: | import QtQml.XmlListModel |
Eigenschaften
- count : int
- progress : real
- query : string
- roles : list<XmlListModelRole>
- source : url
- status : enumeration
Methoden
- errorString()
- reload()
Ausführliche Beschreibung
Um dieses Element zu verwenden, müssen Sie das Modul mit der folgenden Zeile importieren:
import QtQml.XmlListModel
XmlListModel wird verwendet, um ein Nur-Lese-Modell aus XML-Daten zu erstellen. Es kann als Datenquelle für Ansichtselemente (wie ListView, PathView, GridView) und andere Elemente, die mit Modelldaten interagieren (wie Repeater), verwendet werden.
Hinweis: Dieses Modell unterstützt keine XPath-Abfragen. Es unterstützt einfache durch Schrägstrich getrennte Pfade und optional ein Attribut für jedes Element.
Zum Beispiel, wenn es ein XML Dokument auf https://www.qt.io/blog/rss.xml wie dieses gibt:
<?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>
Ein XmlListModel könnte ein Modell aus diesen Daten erstellen, etwa so:
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" } }
Der Wert query von "/rss/channel/item" gibt an, dass das XmlListModel ein Modellelement für jedes <item>
im XML-Dokument erzeugen soll.
Die XmlListModelRole Objekte definieren die Attribute der Modellelemente. In diesem Fall hat jedes Modellelement die Attribute title
, pubDate
und link
, die mit den Werten title
, pubDate
und link
des entsprechenden <item>
übereinstimmen. (Weitere Beispiele finden Sie in der Dokumentation XmlListModelRole.)
Das Modell könnte in einer ListView verwendet werden, etwa so:
ListView { width: 180; height: 300 model: xmlModel delegate: Text { text: title + ": " + pubDate + "; link: " + link } }
Die Daten von XmlListModel werden asynchron geladen, und status wird auf XmlListModel.Ready
gesetzt, wenn das Laden abgeschlossen ist. Wenn XmlListModel für eine Ansicht verwendet wird, bedeutet dies, dass die Ansicht nicht gefüllt wird, bis das Modell geladen ist.
Eigenschaft Dokumentation
count : int |
Die Anzahl der Dateneinträge im Modell.
progress : real |
Dies zeigt den aktuellen Fortschritt des Herunterladens der XML-Datenquelle an. Dieser Wert reicht von 0.0 (keine Daten heruntergeladen) bis 1.0 (alle Daten heruntergeladen). Wenn die XML-Daten nicht aus einer entfernten Quelle stammen, wird der Fortschritt auf 1,0 gesetzt, sobald die Daten gelesen werden.
Beachten Sie, dass bei einem Fortschritt von 1.0 die XML-Daten zwar heruntergeladen wurden, aber zu diesem Zeitpunkt noch nicht in das Modell geladen sind. Verwenden Sie die Eigenschaft status, um herauszufinden, wann die XML-Daten gelesen und in das Modell geladen worden sind.
query : string |
Eine Zeichenkette, die den Basispfad für die Erstellung von Modellelementen aus den XmlListModelRole Objekten dieses Modells darstellt. Die Abfrage sollte mit '/'
beginnen.
roles : list<XmlListModelRole> |
Die Rollen, die für dieses Modell verfügbar gemacht werden sollen.
source : url |
Der Speicherort der XML-Datenquelle.
status : enumeration |
Gibt den Ladestatus des Modells an, der einer der folgenden sein kann:
Konstant | Beschreibung |
---|---|
XmlListModel.Null | Es wurden keine XML-Daten für dieses Modell festgelegt. |
XmlListModel.Ready | Die XML-Daten wurden in das Modell geladen. |
XmlListModel.Loading | Das Modell ist dabei, XML-Daten zu lesen und zu laden. |
XmlListModel.Error | Beim Laden des Modells ist ein Fehler aufgetreten. Siehe errorString() für Details über den Fehler. |
Siehe auch progress.
Methode Dokumentation
errorString() |
Gibt eine String-Beschreibung des letzten aufgetretenen Fehlers zurück, wenn status XmlListModel .Error ist.
reload() |
Lädt das Modell neu.
© 2025 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.