2

有什么理由在运行时从 qml 文件向 QDeclarativeListProperty 添加项目?在一个循环中,例如:

var i;
for(i = 0 ; i < 100 ; ++i)
{ listOfItems.append(MyItem {text:"list"+i})
}

和 listOfItems 是 QDeclarativeListProperty 列表...我不想这样做:

    listOfItems:     
   [               
        MyItem{text:"list val1"},
        MyItem{text:"list val2"},       
         ......
   ]

我在 qml 中显示此列表,列表的数据来自 qt 对象....

4

2 回答 2

2

您不能QDeclarativeListProperty(或QQmlListProperty在 Qt5 中)仅受到一次影响,在实例化时,您不能在此之后附加/删除其中的任何元素。

此外,在 JavaScript 代码中,您不能使用Class { } 语法形式,它是 QML 特定的。

于 2013-03-27T10:12:15.923 回答
0

如果我解决了您的问题,您正在寻找 Component.onCompleted 信号

http://doc.qt.nokia.com/main-snapshot/qml-component.html#onCompleted-signal

于 2011-06-30T22:21:12.267 回答