XmlListModel QML Type
XMLデータを使用して読み取り専用モデルを指定する場合。詳細...
| Import Statement: | import QtQml.XmlListModel |
プロパティ
- count : int
- progress : real
- query : string
- roles : list<XmlListModelRole>
- source : url
- status : enumeration
方法
- string errorString()
- void reload()
詳細な説明
この要素を使用するには、次の行でモジュールをインポートする必要があります:
import QtQml.XmlListModelXmlListModel は、XML データから読み取り専用のモデルを作成するために使用されます。これは、ビュー要素(ListView、PathView、GridView など)や、モデルデータと連携するその他の要素(Repeater など)のデータソースとして使用できます。
注:この モデルはXPathクエリをサポートしていません。スラッシュで区切られた単純なパスと、オプションとして各要素に対する1つの属性をサポートしています。
たとえば、https://www.qt.io/blog/rss.xml に次のような XML ドキュメントがある場合:
<?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>XmlListModel はこのデータから次のようにモデルを作成できます。
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" }
}「/rss/channel/item」というquery の値は、XmlListModelがXMLドキュメント内の各<item> に対してモデル項目を生成することを指定しています。
XmlListModelRole オブジェクトは、モデル項目の属性を定義します。ここでは、各モデル項目には、対応する<item> のtitle 、pubDate 、link の値と一致する、title 、pubDate 、link 属性が設定されます。(その他の例については、XmlListModelRole のドキュメントを参照してください。)
このモデルは、次のように ListView で使用できます:
ListView {
width: 180; height: 300
model: xmlModel
delegate: Text { text: title + ": " + pubDate + "; link: " + link }
}XmlListModel のデータは非同期で読み込まれ、読み込みが完了するとstatus がXmlListModel.Ready に設定されます。なお、これはXmlListModel がビューに使用される場合、モデルが読み込まれるまでビューにデータが表示されないことを意味します。
プロパティのドキュメント
count : int
モデル内のデータエントリの数。
progress : real
これは、XMLデータソースのダウンロードの現在の進捗状況を示します。この値は、0.0(データがダウンロードされていない状態)から1.0(すべてのデータがダウンロード済み)までの範囲です。XMLデータがリモートソースからのものでない場合、データが読み込まれるとすぐに進捗は1.0になります。
なお、進行状況が 1.0 の場合、XML データはダウンロード済みですが、この時点ではまだモデルに読み込まれていません。XML データが読み込まれ、モデルにロードされたタイミングを確認するには、status プロパティを使用してください。
query : string
このモデルのXmlListModelRole オブジェクトからモデル項目を作成するためのベースパスを表す文字列。クエリは'/' で始まる必要があります。
roles : list<XmlListModelRole>
このモデルで利用可能にするロール。
source : url
XMLデータソースの場所。
status : enumeration
モデルの読み込み状態を指定します。以下のいずれかになります。
| 定数 | 説明 |
|---|---|
XmlListModel.Null | このモデルには XML データが設定されていません。 |
XmlListModel.Ready | XMLデータがモデルに読み込まれています。 |
XmlListModel.Loading | モデルは現在、XML データの読み取りおよび読み込み処理中です。 |
XmlListModel.Error | モデルの読み込み中にエラーが発生しました。エラーの詳細については、errorString() を参照してください。 |
「progress」も参照してください 。
メソッドのドキュメント
string errorString()
status がXmlListModel.Errorの場合、最後に発生したエラーの説明を文字列として返します。
void reload()
モデルを再読み込みします。
© 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.