在 QML 中动态创建组件(ListModel 中的 ListElement)
Create component dynmically in QML (ListElement in ListModel)
我想动态创建 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 没有原生 属性 时间(还有 url),但 ListElement 通常没有原生属性。有人可以给我一个建议吗?谢谢。
你只需要使用append
函数:
sList.append({"url": "Res/ex1.jpg", "time": 10})
我想动态创建 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 没有原生 属性 时间(还有 url),但 ListElement 通常没有原生属性。有人可以给我一个建议吗?谢谢。
你只需要使用append
函数:
sList.append({"url": "Res/ex1.jpg", "time": 10})