【问题标题】:MenuItem subMenu property: how to assign it?MenuItem subMenu 属性:如何赋值?
【发布时间】:2019-12-02 23:23:46
【问题描述】:

我阅读了 MenuItem 文档:https://doc.qt.io/qt-5/qml-qtquick-controls2-menuitem.html

MenuItem 具有属性 subMenu 但该属性是只读的。而且我找不到任何其他属性或方法可以将子菜单添加到 MenuItem。

如何在 MenuItem 中添加子菜单?

我需要处理 MenuItem 信号triggered 并同时拥有子菜单。所以使用 Menu 类而不是 MenuItem 不能解决我的问题,因为它没有信号triggered

【问题讨论】:

    标签: qt qml qt5 qtquick2 qtquickcontrols2


    【解决方案1】:

    来自:https://www3.sra.co.jp/qt/relation/doc/qtlabsplatform/qml-qt-labs-platform-menu.html#submenus

    要创建子菜单,请将一个菜单声明为另一个菜单的子菜单:

    Menu {
    title: qsTr("Edit")
    
    Menu {
        title: qsTr("Advanced")
    
        MenuItem {
            text: qsTr("Auto-indent Selection")
            onTriggered: autoIndentSelection()
        }
    
        MenuItem {
            text: qsTr("Rewrap Paragraph")
            onTriggered: rewrapParagraph()
        }
    }
    }
    

    【讨论】:

    • 这个子菜单是 MenuItem 实例吗?我需要访问 Menu 类中不存在的 MenuItem 成员。
    • 不,它不是MenuItem,只能来自Menu类型
    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多