2015-09-03 88 views
3

我在我的應用程序的MainWindow上建立了一個QMenu MainMenu。由於大家都習慣了,我有以下QMenu主菜單:無法隱藏QMenu對象QMenu :: setVisible()?

文件 - 編輯 - SuperHeavyExpertMenus - 設置 - 幫助

我想隱藏子樹SuperHeaverExpertMenus最初,在程序啓動,因爲它包含很多設置,這可能會混淆初學者用戶。

我想說明,子樹SuperHeavyExpertMenu,當設置一個複選框是真的,例如。

我可以隱藏上面的QMenu s的孩子QActions,其中QAction:setVisible(false)。但我可以做到這一點QMenu

有沒有辦法隱藏QMenu

+1

隱藏[菜單操作](http://doc.qt.io/qt-5.5/qmenu.html#menuAction)。 – Amartel

+0

@Amartel我看不出有可能讓你隱藏QMenu嗎?我在QActions中沒有機會。我已經能夠隱藏QActions。但QMenu在主菜單中仍然可見。我想隱藏一個QMenu。 –

+0

@RalfWickum在這種情況下,「動作」一詞意味着「可以進入菜單的東西」。從QMenu描述中可以看出:*「有四種動作項目:分隔符,顯示子菜單的動作,小部件和執行動作的動作。」* SuperHeavyExpertMenus將成爲第二種「動作」。 – HostileFork

回答

8

如果我理解正確你的問題,你可以解決它的方法是絲毫這樣的:

ui->menuYouWantToHide->menuAction()->setVisible(false); 

我希望對大家有用。