我正在编写一个应用程序,使用KDE和QML。主窗口将是纯粹的QML,具有非常自定义的外观,所以我根本不需要菜单栏。我要去一个像Dolphin“Control”按钮的东西,但在QML中实现。但是,如果用户具有全局菜单栏(如Unity或KDE全局菜单栏),我想显示一个菜单栏,以便它适合其他应用程序。如何仅在全局菜单栏中显示菜单栏时才提供菜单栏?
我注意到这是KDE文件管理器Dolphin的工作方式。默认情况下,有一个“控制”按钮,其中包含一组有限的菜单。但是,如果有全局菜单栏,则会导出常规菜单栏,即使它仍设置为不显示菜单栏。
如何设置菜单栏只显示如果正在显示在全局菜单栏呢?它可以在纯粹的Qt中完成,还是必须使用KDE?如果这是通过不显示菜单栏自动提供的,我该如何隐藏菜单栏?
对不起,如果我不够清楚。在我刚刚添加的图片中,我在KDE面板中有一个小部件来提供全局菜单栏。 Dolphin设置为不显示其菜单栏(并且没有全局菜单栏),但它仍然显示在全局菜单栏小部件中。这是我想要的。无论最大化/全屏状态如何,它都应该显示。 – iBelieve
KDE的用户界面现在几乎完全用Qt编写。 OSX使用这样的全局菜单栏,Qt在Mac上运行Qt应用程序时使用它。通常,当你不在QML中时,你只需要创建一个QMainWindow,而Qt只是决定将Menubar放在哪里,如果你正在为Mac或Windows或Linux编译。 – phyatt