【发布时间】:2018-07-15 08:11:50
【问题描述】:
我在QMenuBar 中有一个QMenu。
我可以通过QMenu.show() QMenu.exec() 和QMenu.showTearOffMenu() 使QMenu 出现,但它们会在屏幕左上角、预先指定的位置或鼠标下方显示菜单。我希望菜单出现在其通常的位置(在QMenuBar 下)。这可能吗(在任何 Qt 语言中)?
【问题讨论】:
我在QMenuBar 中有一个QMenu。
我可以通过QMenu.show() QMenu.exec() 和QMenu.showTearOffMenu() 使QMenu 出现,但它们会在屏幕左上角、预先指定的位置或鼠标下方显示菜单。我希望菜单出现在其通常的位置(在QMenuBar 下)。这可能吗(在任何 Qt 语言中)?
【问题讨论】:
你可以简单地使用
your_menuBar.addMenu(your_menu
self.setMenuBar(your_menuBar)
self 对应 QMainWindow
参考 设置菜单栏
将主窗口的菜单栏设置为 menuBar。
【讨论】:
在 Qt 中,您可以使用菜单栏的位置,然后在该位置打开菜单:
poMenu->exec(mapToGlobal(m_poMenuBar->rect().bottomLeft()));
【讨论】: