1

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

我怎样才能避免这种情况?任何帮助表示赞赏。

我正在使用 Mac、Qt、Carbon。

4

3 回答 3

3

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

于 2010-03-17T20:10:25.597 回答
0

我在 Ubuntu 中遇到了类似的问题,所以这可能也可以解决您在 Mac OS X 中的问题。很简单,只要禁用QMenu.nativeMenuBar主菜单栏的属性,即menuBar->setNativeMenuBar(false)。在此处查看已接受的答案:全局应用程序菜单在模式对话框中处于活动状态(在 Linux 上)

于 2016-09-17T13:19:51.667 回答
0

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

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

于 2015-12-03T12:32:30.113 回答