You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QML中动态创建ListModel内ListElement提示属性不存在如何解决

问题原因

ListElement是QML为ListModel静态定义设计的语法糖,只有作为ListModel的直接静态子元素时,QML解析器才会特殊处理其内部自定义的键值对,将其识别为模型的字段。使用Qt.createQmlObject动态创建ListElement实例时,没有ListModel静态解析的上下文,引擎会把url、time当做ListElement的原生属性查找,自然就会报属性不存在的错误。

解决方案

不需要手动创建ListElement实例,直接调用ListModel原生的增删改方法即可,方法接收普通JavaScript对象作为参数,内部会自动处理为对应的模型条目:

1. 末尾追加单个元素

sList.append({
    url: "Res/ex1.jpg",
    time: 10
})

2. 指定位置插入元素

// 索引从0开始,以下代码表示插入到第2个位置
sList.insert(1, {
    url: "Res/ex3.jpg",
    time: 15
})

3. 批量添加元素

如果需要一次性添加多个元素,直接传入对象数组即可:

sList.append([
    {url: "Res/ex4.jpg", time: 5},
    {url: "Res/ex5.jpg", time: 20}
])

内容的提问来源于stack exchange,提问作者Findus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:57:02