【问题标题】:Create component dynmically in QML (ListElement in ListModel)在 QML 中动态创建组件(ListModel 中的 ListElement)
【发布时间】:2021-10-24 03:05:59
【问题描述】:

我想动态创建 QML-ListModel 的成员。静态创建没问题,工作正常:

 ListModel{
            id: sList 

            ListElement{
                url: "Res/ex1.jpg"
                time: 10
            }

            ListElement{
                url: "Res/ex2.jpg"
                time: 10
            }
        }

我选择 QML 函数 Qt.createQmlObject,sList 在启动时已经创建:

Qt.createQmlObject("import QtQuick 2.5; ListElement{url: \"Res/ex1.jpg\"; time: 10; }", sList, "dynamicItem");

我终于报错了:

file:///C:[...]TEP46Py6_2/main.qml:156: Error: Qt.createQmlObject(): failed to create object: 
file:///C:[...]TEP46Py6_2/dynamicItem:1:53: Cannot assign to non-existent property "time"

是的,ListElement 没有原生属性 time(还有 url),但 ListElement 通常没有原生属性。有人可以给我一个建议吗?谢谢。

【问题讨论】:

    标签: qt qml qtquick2 dynamicobject


    【解决方案1】:

    你只需要使用append函数:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      相关资源
      最近更新 更多