介绍
QMenu是Qt提供的菜单控件,菜单可用于窗口菜单栏也可用于右键菜单,相关帮助:QMenu
菜单的使用时通过菜单+action动作组合的方式实现功能的,QMenu继承自QWidget,用于其父类的hide/setVisible/setHide等方法,但是均无法隐藏菜单。
隐藏方法
查看相关api可以发现上述说到的方法都是继承自widget的,当然理论上来说应该是可以通过上述方法隐藏一个widget,毕竟是继承的呀。
后来仔细看QMenu的接口,找到了一个比较另类的接口:menuAction(),难道他的意思是menu也实际上是个Aciton?,获取以后调用Aciton的setVisible,成功隐藏了menu,具体调用:
QMenu::menuAction()->setVisible(false);
最新评论