无法隐藏QMenu对象QMenu :: setVisible()?

时间:2015-09-03 12:30:33

标签: qt qt5 qt5.3 qmenu qaction

我已在我的应用程序QMenu MainMenu之上构建了MainWindow。每个人都习惯了,我跟着QMenu主菜单:

  

文件 - 编辑 - SuperHeavyExpertMenus - 设置 - 帮助

我想在程序启动时隐藏子树SuperHeaverExpertMenus,因为它会包含很多设置,这可能会让初学者用户感到困惑。

例如,当“设置”中的复选框为true时,我想显示带有SuperHeavyExpertMenu的子树。

我可以隐藏上面QActions的孩子QMenuQAction:setVisible(false)。但我可以为QMenu

做到这一点

有没有办法隐藏QMenu

2 个答案:

答案 0 :(得分:15)

如果我能正确理解你的问题,你可以解决它的问题就像这样:

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

我希望有用。

答案 1 :(得分:0)

Qmenu没有setVisible()hide(),但是您可以更改标题:

ui->MenuYouWantToHide->setTitle("");

这将删除标题,并因此删除组成GUI中按钮的“动作”。