我正在編寫一個應用程序,使用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