XmlListModel QML Type
XMLデータを使用して読み取り専用モデルを指定します。詳細...
Import Statement: | import QtQml.XmlListModel |
プロパティ
- count : int
- progress : real
- query : string
- roles : list<XmlListModelRole>
- source : url
- status : enumeration
方法
- errorString()
- reload()
詳細説明
この要素を使用するには、以下の行でモジュールをインポートする必要があります:
import QtQml.XmlListModel
XmlListModel は、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" } }
query の値 "/rss/channel/item" は、XmlListModel が XML ドキュメント内の<item>
それぞれに対してモデルアイテムを生成することを指定します。
XmlListModelRole オブジェクトはモデルアイテムの属性を定義します。ここでは、各モデル・アイテムは、対応する<item>
のtitle
、pubDate
、link
の値と一致するtitle
、pubDate
、link
属性を持ちます(詳しい例はXmlListModelRole のドキュメントを参照してください)。
このモデルは、このようにリストビューで使用することができます:
ListView { width: 180; height: 300 model: xmlModel delegate: Text { text: title + ": " + pubDate + "; link: " + link } }
XmlListModel のデータは非同期にロードされ、ロードが完了するとstatus がXmlListModel.Ready
に設定されます。これは、XmlListModel がビューに使用される場合、モデルが読み込まれるまでビューにデータが入力されないことを意味します。
プロパティの説明
count : int |
モデル内のデータエントリ数。
progress : real |
query : string |
このモデルのXmlListModelRole オブジェクトからモデル・アイテムを作成するためのベース・パスを表す文字列。クエリは'/'
で始まる必要があります。
roles : list<XmlListModelRole> |
このモデルで利用可能にするロール。
source : url |
XML データ・ソースの場所。
status : enumeration |
モデルのロード・ステータスを指定します:
定数 | 説明 |
---|---|
XmlListModel.Null | このモデルには XML データが設定されていません。 |
XmlListModel.Ready | XML データはモデルにロードされています。 |
XmlListModel.Loading | モデルは XML データを読み込んでいる最中です。 |
XmlListModel.Error | モデルの読み込み中にエラーが発生しました。エラーの詳細については、errorString() を参照してください。 |
progressも参照して ください。
メソッド・ドキュメント
errorString() |
status がXmlListModel.Error の場合、最後に発生したエラーの説明を文字列で返します。
reload() |
モデルをリロードします。
© 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.