XmlListModel QML Type
Zur Definition eines schreibgeschützten Modells mithilfe von XML-Daten. Mehr...
| Import Statement: | import QtQml.XmlListModel |
Eigenschaften
- count : int
- progress : real
- query : string
- roles : list<XmlListModelRole>
- source : url
- status : enumeration
Methoden
- string errorString()
- void reload()
Ausführliche Beschreibung
Um dieses Element zu verwenden, müssen Sie das Modul mit der folgenden Zeile importieren:
import QtQml.XmlListModelXmlListModel dient dazu, aus XML-Daten ein schreibgeschütztes Modell zu erstellen. Es kann als Datenquelle für Ansichtselemente (wie ListView, PathView, GridView) und andere Elemente verwendet werden, die mit Modelldaten interagieren (wie Repeater).
Hinweis: Dieses Modell unterstützt keine XPath-Abfragen. Es unterstützt einfache, durch Schrägstriche getrennte Pfade und optional ein Attribut pro Element.
Beispiel: Angenommen, unter https://www.qt.io/blog/rss.xml befindet sich ein XML-Dokument wie dieses:
<?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 aus diesen Daten ein Modell wie folgt erstellen:
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 „/rss/channel/item“ für „ query “ gibt an, dass das XmlListModel für jedes „ <item> “ im XML-Dokument ein Modellelement generieren soll.
Die „ XmlListModelRole “-Objekte definieren die Attribute der Modellelemente. Hier verfügt jedes Modellelement über 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 unter XmlListModelRole.)
Das Modell könnte wie folgt in einer ListView verwendet werden:
ListView {
width: 180; height: 300
model: xmlModel
delegate: Text { text: title + ": " + pubDate + "; link: " + link }
}Die Daten von „ XmlListModel “ werden asynchron geladen, und „ status “ wird nach Abschluss des Ladevorgangs auf „ XmlListModel.Ready “ gesetzt. Beachten Sie, dass dies bedeutet: Wenn „ XmlListModel “ für eine Ansicht verwendet wird, wird die Ansicht erst dann gefüllt, wenn das Modell geladen ist.
Dokumentation zu den Eigenschaften
count : int
Die Anzahl der Datensätze im Modell.
progress : real
Dies gibt den aktuellen Fortschritt beim Herunterladen 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 Remote-Quelle stammen, erreicht der Fortschritt den Wert 1,0, sobald die Daten gelesen wurden.
Beachten Sie, dass bei einem Fortschritt von 1,0 die XML-Daten zwar heruntergeladen wurden, zu diesem Zeitpunkt jedoch noch nicht in das Modell geladen sind. Verwenden Sie die Eigenschaft „status“, um festzustellen, wann die XML-Daten gelesen und in das Modell geladen wurden.
query : string
Eine Zeichenfolge, die den Basispfad für die Erstellung von Modellelementen aus den „ XmlListModelRole “-Objekten dieses Modells angibt. Die Abfrage sollte mit '/' beginnen.
roles : list<XmlListModelRole>
Die Rollen, die für dieses Modell bereitgestellt werden sollen.
source : url
Der Speicherort der XML-Datenquelle.
status : enumeration
Gibt den Ladezustand des Modells an, der einer der folgenden sein kann:
| Konstant | Beschreibung |
|---|---|
XmlListModel.Null | Für dieses Modell wurden keine XML-Daten festgelegt. |
XmlListModel.Ready | Die XML-Daten wurden in das Modell geladen. |
XmlListModel.Loading | Das Modell ist gerade dabei, XML-Daten zu lesen und zu laden. |
XmlListModel.Error | Beim Laden des Modells ist ein Fehler aufgetreten. Weitere Informationen zum Fehler finden Sie unter errorString(). |
Siehe auch progress.
Methodendokumentation
string errorString()
Gibt eine Zeichenfolgenbeschreibung des zuletzt aufgetretenen Fehlers zurück, wenn „ status “ auf „ XmlListModel.Error“ gesetzt ist.
void reload()
Lädt das Modell neu.
© 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.