【发布时间】:2019-01-11 21:18:16
【问题描述】:
我想创建一个自定义的 Qt/QML 菜单,就像 Firefox 中的主菜单一样:
如您所见,如果菜单大于主窗口,则菜单可能会超出主窗口的边界。有没有办法在 Qt 中实现这种行为?我尝试使用原生的Menu QML 组件,但这只会给我一个默认的操作系统上下文菜单,其中包含非常多的自定义选项。我希望完全控制菜单的外观及其内容(即与普通 QML 组件或小部件相同的可能性)。
【问题讨论】:
-
只需创建一个窗口,然后在其中放入您想要的任何内容?看起来很简单。
-
不清楚你在问什么。什么是“完全控制”?什么是“可以超越界限”?请提供示例。
-
通常,Qt 组件被其父窗口裁剪。这不适用于 Firefox 中的菜单(参见屏幕截图)。我想知道如何在 Qt 中实现这一点。通过完全控制,我的意思是我可以将任何我想要的组件放入容器中(就像我可以放入任何我想要的窗口一样)。使用原生上下文菜单时,通常仅限于菜单条目的文本,也可能是图标。