在一个大型QML项目中,有时我会收到以下错误:
MyItem.qml:8:TypeError:无法读取null
的属性
当我查看相关行时,它始终位于子项中,其属性绑定到父属性,如
Item
{
id: myItem
ASubItem
{
id: subItem
width: parent.width
}
}
因此看起来父类变为null并且内部项目在此之后尝试更新其属性。
我们有时会从C ++中删除项目,因为我们想要创建新项目,它似乎是错误消息的原因。我们还使用C ++创建了一些项目(使用QQmlComponent
)并将父项和父项设置为包含项目的QQuickItem
,但似乎我也在其他项目上出现此错误。 / p>
但是我不明白为什么内部项目会在父项为空时尝试更新自己,不应该同时删除它? 有没有办法调试这个以查看父项何时被删除以及其子项目何时尝试更新?