XmlListModel QML 类型

用于指定使用 XML 数据的只读模型。更多信息...

导入语句import QtQml.XmlListModel

属性

方法

详细描述

要使用此元素,您需要使用以下行导入模块

import QtQml.XmlListModel

XmlListModel 用于从 XML 数据创建只读模型。它可以作为视图元素(如 ListView、PathView、GridView)以及其他与其他模型数据交互的元素(如 Repeater)的数据源。

注意:此模型不支持 XPath 查询。它支持简单的斜杠分隔路径,并且可选地支持为每个元素提供一个属性。

例如,如果有一个位于 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>titlepubDatelink 值匹配的 titlepubDatelink 属性。(有关更多示例,请参阅 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数据已读取并加载到模型中的时间。

另请参阅状态


查询 : 字符串

代表从本模型的XmlListModelRole对象创建模型项的基路径的字符串。查询应从'/'开始。


为此模型提供角色的列表。


source : URL

XML数据源的地址。


状态 : 枚举

指定模型加载状态,可以是以下之一

常数描述
XmlListModel.Null此模型未设置XML数据。
XmlListModel.ReadyXML数据已加载到模型中。
XmlListModel.Loading模型正在读取和加载XML数据。
XmlListModel.Error在模型加载过程中发生错误。有关错误详情,请参阅errorString方法。

另请参阅进度


方法文档

errorString()

状态XmlListModel.Error时,返回最后发生的错误描述字符串。


reload()

重新加载模型。


© 2024 Qt公司有限公司。此处包含的文档贡献版权属于其各自的所有者。此处提供的文档是根据免费软件基金会发布的GNU自由文档许可证版本1.3许可使用的。Qt及其相应标志是芬兰和/或世界上其他地区的Qt公司的商标。所有其他商标均为其各自所有者的财产。