如何将通用 Qt Quick 的控件放入菜单中

how to put a generic Qt Quick's control inside a Menu

如何将通用 Qt Quick 控件放入菜单中? 类似于:

ApplicationWindow {
    visible: true
    menu: Menu {
        MenuItem { }
        Slider { }
        Button { }
    }
}

使用 "standard" Qt,您可以使用 QWidgetAction 来做到这一点。

不幸的是,库存菜单几乎仅限于文本。

但是,您可以尝试使用 MenuStyle 元素,并创建一种样式,该样式将自定义项用于您通过额外 属性 指定的菜单委托。

实现自己的菜单组件也是一个可行的解决方案,尤其是因为:

Note: Styling menus may not be supported on platforms using native menus through their QPA plugin.

我总是采用后一种方法,因为我使用的 UI 在不同平台上是一致的,并且需要常用菜单元素不提供的功能。