即使打开模式对话框,也会启用应用程序菜单

时间:2010-03-16 05:50:28

标签: macos qt macos-carbon

我有一个应用程序,我可以在主窗口上启动模式对话框。主窗口在后台进行一些网络活动,更新我的后台UI。因此,即使打开模态对话框,也可以访问应用程序菜单。

我该如何避免这种情况?任何帮助表示赞赏。

我正在使用Mac,Qt,Carbon。

3 个答案:

答案 0 :(得分:2)

您无法在Mac OS X上禁用“应用程序”菜单,它始终处于“活动状态”但您可以禁用在对话框可见时不想使用的操作

答案 1 :(得分:0)

您可以让模态对话框创建自己的菜单栏,在显示对话框时将覆盖主窗口。

如果您不想允许任何操作,只需创建一个空的QMenuBar,并将对话框作为其父级。你甚至不必展示它。 Qt会找到它并自动将其推广到全局菜单栏。

答案 2 :(得分:0)

我在Ubuntu中遇到了类似的问题,所以这可能会解决你在Mac OS X中的问题。这很简单,只需禁用主菜单栏的QMenu.nativeMenuBar属性即menuBar->setNativeMenuBar(false)。请在此处查看已接受的答案:Global application menu active in modal dialog box (on Linux)