QML ShapePath очищает элементы пути
Я хочу удалить все элементы пути из моего
ShapePath
. С
pathElements
является списком Qml, единственный способ изменить его - установить для него новый массив Javascript. Поэтому я ожидал, что смогу очистить его, просто назначив ему пустой массив.
Я старался
path.pathElements = []
, что у меня не работает.
Потом я попробовал
path.pathElements = null
, который действительно работает (
PathLine
больше не отображается), но выводит это уродливое сообщение об ошибке:
QObject::connect: Cannot connect (nullptr)::changed() to QQuickShapePath::processPath()
Есть другие идеи?
Код для воспроизведения:
Shape {
anchors.fill: parent
ShapePath {
id: path
strokeWidth: 2
strokeColor: "green"
fillColor: "green"
Component.onCompleted: path.pathElements = []
PathLine { x: 50; y: 50 }
}
}
1 ответ
Я отправил отчет об ошибке в Qt, и они подтвердили мою ошибку.
Чтобы решить эту проблему, сначала нужно назначить
null
, с последующим
[]
.
Shape {
anchors.fill: parent
ShapePath {
id: path
strokeWidth: 2
strokeColor: "green"
fillColor: "green"
Component.onCompleted: {
path.pathElements = null
path.pathElements = []
}
PathLine { x: 50; y: 50 }
}
}