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