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() |
モデルをリロードします。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 このドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。