0

我想从我的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 }
    }
}
4

1 回答 1

0

我在 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 }
    }
}
于 2021-02-25T09:21:54.837 回答