我想在QML应用程序中创建一个具有其他菜单的菜单,具体取决于某些模型。当我使用Instantiator时,正在创建的项目是Instantiator本身的父级,当它们添加到顶级菜单时,它会抱怨__parentMenu
为空
Menu {
title: qsTr("Top-Level Menu")
id: topMenu
Instantiator {
model: aTopLevelModel
onObjectAdded: topMenu.insertItem( index, object )
onObjectRemoved: topMenu.removeItem( object )
delegate: Menu {
id: innerMenu
title: qsTr("Inner Menu")
Instantiator {
model: aTopLevelModel.getInnerModel(index)
onObjectAdded: innerMenu.insertItem( index, object )
onObjectRemoved: innerMenu.removeItem( object )
delegate: MenuItem {
text: qsTr("Menu action!")
onTriggered: {
console.log("Action of inner menu")
}
}
}
}
}
}
我正在观察的警告是:Menu.qml:149: TypeError: Cannot read property '__contentItem' of null
第149行是property var __parentContentItem: __parentMenu.__contentItem
。
如何克服此警告的产生?
Qt版本是5.5.1。在OS X和Windows版本的Qt。
中观察到此行为