Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt:QMainWindow获得QMenuBar的所有权_Qt_User Interface - Fatal编程技术网

Qt:QMainWindow获得QMenuBar的所有权

Qt:QMainWindow获得QMenuBar的所有权,qt,user-interface,Qt,User Interface,我想使用QMenuBar的一个实例来简化与macosx的集成,但是文档中指出 注意:QMainWindow拥有 菜单栏指针,并在 适当的时间 如何让所有QMainWindows共享一个QMenuBar?还是简单而不幸的答案你不能?很抱歉简单地引用了手册,但这个问题实际上已经包含在手册中了 : 如果你想让所有的窗口都在Mac中 应用程序共享一个菜单栏, 不要使用此函数来创建它, 因为这里创建的菜单栏将 将此QMainWindow作为其父窗口。 相反,您必须创建一个菜单栏 没有父对象,而您 然后可以

我想使用QMenuBar的一个实例来简化与macosx的集成,但是文档中指出

注意:QMainWindow拥有 菜单栏指针,并在 适当的时间


如何让所有QMainWindows共享一个QMenuBar?还是简单而不幸的答案你不能?

很抱歉简单地引用了手册,但这个问题实际上已经包含在手册中了

:

如果你想让所有的窗口都在Mac中 应用程序共享一个菜单栏, 不要使用此函数来创建它, 因为这里创建的菜单栏将 将此QMainWindow作为其父窗口。 相反,您必须创建一个菜单栏 没有父对象,而您 然后可以在所有Mac电脑之间共享 窗户。创建无父菜单栏 这样:

QMenuBar *menuBar = new QMenuBar(0);
有关Mac OS X上QMenuBar的更多信息:


很抱歉简单地引用了手册,但这个问题实际上已经包含在手册中了

:

如果你想让所有的窗口都在Mac中 应用程序共享一个菜单栏, 不要使用此函数来创建它, 因为这里创建的菜单栏将 将此QMainWindow作为其父窗口。 相反,您必须创建一个菜单栏 没有父对象,而您 然后可以在所有Mac电脑之间共享 窗户。创建无父菜单栏 这样:

QMenuBar *menuBar = new QMenuBar(0);
有关Mac OS X上QMenuBar的更多信息:


然后您可以在所有Mac windows中共享该文件。。。但是,如果单个窗口拥有菜单的所有权,它们如何共享菜单?您不能将此菜单栏与任何窗口关联。单个窗口将不会获得菜单的所有权,因为您不会将其授予它们。在一个步骤中创建一个无父菜单栏,然后在另一个步骤中创建QMainWindow。您从不调用QMainWindow::menubar。QMainWindow最终没有菜单。它没有看到空的父项QMenuBar。i、 我运行应用程序,在窗口中看不到菜单栏,除非我调用setMenuBarglobalMenuBar。不要在任何地方调用setMenubar或menubar。确保没有代码调用这些方法,特别是菜单栏,因为它将为该窗口创建一个空白菜单栏,覆盖全局默认菜单栏。我添加了更多指向答案的链接。检查最后一个菜单栏,它解释了windows何时恢复使用默认菜单栏,以及如何将无父菜单栏用作应用程序的默认菜单栏。然后,您可以在所有Mac windows之间共享该菜单栏。。。但是,如果单个窗口拥有菜单的所有权,它们如何共享菜单?您不能将此菜单栏与任何窗口关联。单个窗口将不会获得菜单的所有权,因为您不会将其授予它们。在一个步骤中创建一个无父菜单栏,然后在另一个步骤中创建QMainWindow。您从不调用QMainWindow::menubar。QMainWindow最终没有菜单。它没有看到空的父项QMenuBar。i、 我运行应用程序,在窗口中看不到菜单栏,除非我调用setMenuBarglobalMenuBar。不要在任何地方调用setMenubar或menubar。确保没有代码调用这些方法,特别是菜单栏,因为它将为该窗口创建一个空白菜单栏,覆盖全局默认菜单栏。我添加了更多指向答案的链接。检查最后一个菜单栏,它解释了windows何时退回到使用默认菜单栏,以及如何将无父项的QMenubar用作应用程序的默认菜单栏。