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 }
    }
}
Другие вопросы по тегам