Qt 中如何隐藏 QMenu
Posted liyuanbhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 中如何隐藏 QMenu相关的知识,希望对你有一定的参考价值。
Qt 中如何隐藏 QMenu
我最近做的一个项目,需要根据 license 授权来控制软件的一些功能。有些菜单在某些状态下要隐藏起来。这么个简单的需求,折腾了半个多小时。
最开始想的很简单,认为就是一句话就能解决。QMenu 继承自 QWidget,QWidget 的显示隐藏很简单。
ui->menu->hide();
结果这么写了后毫无反应。后来研究了一下,需要这么写:
ui->menu->menuAction()->setVisible(false);
这里简单说说为啥用 menu->hide() 没反应。其实也不是没反应,而是没有用对地方。一个菜单,平时就是隐藏状态的,我们只有鼠标挪过去它才会显示出来。这时用 hide() 才可以隐藏起来。
以上是关于Qt 中如何隐藏 QMenu的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Qt Designer 中删除 QMenu 分隔符?
Qt 5.4 OS X 如何在 QMenu 和 QToolBar 中使用 QAction,但仅在 QToolbar 中显示图标
如何使用 Qt 将可折叠元素(QMenu、QComboBox)渲染到位图缓冲区?
QPushButton.setMenu (self, QMenu menu) 使用从 Qt Designer 生成的代码