QML - Тип фигуры, у данных свойства нет метода удаления записей? - PullRequest
0 голосов
/ 30 марта 2019

Для моего приложения я создаю несколько динамических линий, чтобы показать их на экране.Я попытался создать линии, как в этом примере из документации qt:

https://doc.qt.io/archives/qt-5.10/qtquick-shapes-content-interactive-qml.html

В этом примере shapepath добавляется в свойство data формы через:

shape.data.push (p);

Однако я хочу удалить что-то из этого списка, но ни pop (), ни соединение не работают.Есть ли способ удалить элементы из свойства списка данных Shape?

В документе qt даже не упоминался метод push.

1 Ответ

1 голос
/ 30 марта 2019

Свойство data в Shape не является массивом 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
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...