[英]QML - Shape Type, Property data has no method for removing Entries?
对于我的应用程序,我正在创建一些动态行以在屏幕上显示它们。 我尝试根据qt文档中的示例创建线:
https://doc.qt.io/archives/qt-5.10/qtquick-shapes-content-interactive-qml.html
在此示例中,shapepath通过以下方式添加到shape的data属性中:
shape.data.push(p);
但是,我想从此列表中删除某些内容,但pop()或拼接工作均无效。 有没有一种方法可以从Shape的数据列表属性中删除项目?
在qt doc中,实际上甚至没有提到push方法。
Shape
的data
属性不是JS数组,并且非常有限。
根据文档 :
请注意,对象一旦创建就无法单独添加到列表或从列表中删除; 要修改列表的内容,必须将其重新分配给新列表。
因此,您必须创建一个没有要删除的项目的新列表:
function removeFromShapeAt(index) {
var d = []
for (var i = 0; i !== shape.data.length; ++i) {
if (i !== index) {
d.push(shape.data[i])
}
}
shape.data = d
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.