当前位置: 首页 > article >正文

qml XmlListModel详解

1、概述

XmlListModel是QtQuick用于从XML数据创建只读模型的组件。它可以作为各种view元素的数据源,比如ListView、GridView、PathView等;也可以作为其他和model交互的元素的数据源。通过XmlRole定义角色,如name、age和height,并使用XPath查询来提取数据。

2、重要属性
  • source:指定XmlListModel使用的XML文档的位置,可以是一个网络地址,也可以是本地地址。
  • xml:保存用于当前model的XML字符串,应当是UTF-8编码的。当同时指定xml和source时,xml生效。
  • query:XPath表达式,以“/”或“//”起始,作为一个基础的XPath表达式,和XmlRole的query结合使用。
  • roles:XmlRole对象的列表,XmlListModel正是通过它们从XML文档中提取数据的。
  • count:表示当前model内数据的个数。
  • namespaceDeclarations:保存在XPath中使用的命名空间。
  • status:表示model的当前状态,取XmlListModel.Null、XmlListModel.Ready、XmlListModel.Loading、XmlListModel.Error中的一个。
  • progress:表示XML文档的下载进度,取值范围为0.0~1.0,取值为1.0表示下载完成。如果是本地XML,progress会在读取数据时立即变成1.0。
3、重要方法
  • get():可以得到指定索引位置的数据对象,然后可以根据role-name来访问数据。
  • reload():用来重新加载model。如果没有指定关键角色,所有数据都会被删除,然后model将从头构建。如果指定了关键角色,reload()只会添加或更新与关键角色匹配的数据。
Item {
    width: 300
    height: 480
    Component {
        id: imageDelegate
        Item {
            width: listView.width
            height: 400
            Column {
                Text {
                    text: title
                }
                Image {
                    source: imageSource
                }
            }
        }
    }
    XmlListModel {
        id: imageModel
        source: "http://feeds.nationalgeographic.com/ng/photography/photo-of-the-day/"
        query: "/rss/channel/item"
        XmlRole { name: "title"; query: "title/string()" }
        XmlRole { name: "imageSource"; query: "substring-before(substring-after(description/string(), 'img src=\"'), '\"')" }
    }
    ListView {
        id: listView
        anchors.fill: parent
        model: imageModel
        delegate: imageDelegate
    }
}

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 


http://www.kler.cn/a/505096.html

相关文章:

  • SDK调用文心一言如何接入,文心一言API接入教程
  • 检验统计量与p值笔记
  • LabVIEW智能水肥一体灌溉控制系统
  • 查看APK的公钥,MD5信息
  • Pytest入门—allure生成报告
  • Leetcode热题100(双指针篇)
  • 网络网络层ICMP协议
  • Unity用官方第三人称Third Person模板,替换成自己的人物
  • ue5 1.平A,两段连击蒙太奇。鼠标点一下,就放2段动画。2,动画混合即融合,边跑边挥剑,3,动画通知,动画到某一帧,把控制权交给蓝图。就执行蓝图节点
  • 《AI语言模型的技术演进与未来发展趋势:从参数堆叠到智能检索》
  • Android SystemUI——StatusBar视图创建(六)
  • Redis持久化双雄
  • vue3学习日记7 - Home页面
  • 如何在Ubuntu上安装Cmake
  • leetcode hot 100 -划分字母区间
  • CDP中的Hive3之Apache Hive3特性
  • TCP-IP详解卷 TCP的超时与重传
  • springboot整合rabbitmq(消息确认)
  • AWS上搭建Storage Gateway并创建SMB和NFS服务
  • 一招解决word嵌入图片显示不全问题