我想用 QML 实现一个带有单个菜单项的菜单,就像 chrome 那样。它有这个带有三个水平条的按钮,当你点击它时,你会得到一个菜单。最新版本的 Firefox 也遵循相同的原则。它允许不要在应用程序的 GUI 中浪费太多的水平空间,取消占用整个窗口宽度的常用菜单。
我没有设法用 QML 完全重现这个 GUI。从我所看到的你可以使用 QML ApplicationWindow
,然后是 a MenuBar
,但它会占用窗口的整个宽度......或者有一个切换按钮来触发菜单,然后使用独立Menu
及其popup()
方法,但随后它会弹出-up 直接在光标下,而不是正好在打开菜单的按钮下,看起来不太好。这真的更滥用上下文菜单的机制。
我可以制作一个假菜单,它是我窗口中的一个自定义小部件,但它不能扩展到我的应用程序窗口之外。这种行为几乎是必需的,因为我将把这个按钮放在窗口的最右边,就像 chrome 一样。
是否有可能在纯 QML(非 C++)中完全实现这种行为?