XmlListModel QML 类型
用于指定使用 XML 数据的只读模型。更多信息...
导入语句 | 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 查询。它支持简单的斜杠分隔路径,并且可选地支持为每个元素提供一个属性。
例如,如果有一个位于 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,如下所示
ListView { width: 180; height: 300 model: xmlModel delegate: Text { text: title + ": " + pubDate + "; link: " + link } }
XmlListModel 数据异步加载,并且在加载完成时将 status 设置为 XmlListModel.Ready
。请注意,这意味着当使用 XmlListModel 用于视图时,视图将在模型加载后填充。
属性文档
count : int |
模型中的数据项数。
progress : real |
查询 : 字符串 |
代表从本模型的XmlListModelRole对象创建模型项的基路径的字符串。查询应从'/'
开始。
roles : 列表<XmlListModelRole> |
为此模型提供角色的列表。
source : URL |
XML数据源的地址。
状态 : 枚举 |
指定模型加载状态,可以是以下之一
常数 | 描述 |
---|---|
XmlListModel.Null | 此模型未设置XML数据。 |
XmlListModel.Ready | XML数据已加载到模型中。 |
XmlListModel.Loading | 模型正在读取和加载XML数据。 |
XmlListModel.Error | 在模型加载过程中发生错误。有关错误详情,请参阅errorString方法。 |
另请参阅进度。
方法文档
errorString() |
当状态为XmlListModel.Error时,返回最后发生的错误描述字符串。
reload() |
重新加载模型。
© 2024 Qt公司有限公司。此处包含的文档贡献版权属于其各自的所有者。此处提供的文档是根据免费软件基金会发布的GNU自由文档许可证版本1.3许可使用的。Qt及其相应标志是芬兰和/或世界上其他地区的Qt公司的商标。所有其他商标均为其各自所有者的财产。