2015-09-03 89 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); 

我希望对大家有用。