不可能隐藏QMenu对象QMenu::setVisible()



我已经在我的应用程序中的MainWindow之上建立了一个QMenu MainMenu。每个人都习惯了,我有以下QMenu主菜单:

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

我想隐藏子树SuperHeaverExpertMenus最初,在程序启动,因为它包含了很多设置,这可能会混淆初学者用户。

我想用SuperHeavyExpertMenu显示子树,例如,当Settings中的复选框为true时。

我可以隐藏QMenu s的子QActions,参见QAction:setVisible(false)。但我可以为QMenu ?

是否有办法隐藏QMenu ?

如果我理解正确的话,你解决问题的方法是这样的:

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

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

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

这将删除标题,因此,在您的GUI中构成按钮的"Action"。

基于qaction的小部件的可见性和启用性可以通过与它们连接的QAction对象来控制。

Qt文档,即使是最新版本也从公共访问器列表中省略了多个访问器函数。相反,它们被引用在相关的getter下,例如QAction::setVisible被列在QAction::isVisible topic下。

相关内容

  • 没有找到相关文章

最新更新