繁体   English   中英

QML-形状类型,属性数据没有删除条目的方法?

[英]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方法。

Shapedata属性不是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM