使用Instantiator创建嵌入式菜单时出现警告

时间:2016-02-09 11:58:55

标签: qt menu qml

我想在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。

中观察到此行为

0 个答案:

没有答案