繁体   English   中英

Qt5:如何在QMenuBar中隐藏或删除QMenu?

[英]Qt5: How to hide or remove a QMenu from the QMenuBar?

我在Windows7平台上使用Qt5:
Qt Creator版本是:v3.3.2。
Qt版本5.5.1和MinGW 32位。

目前,我在菜单栏中有:

配置 - 报告 - 帮助

我搜索了SO,我发现这是一个可能的答案: 不可能隐藏QMenu对象QMenu :: setVisible()? ,但它不起作用 ......

所以,我试图删除帮助菜单使用:

ui->menuHelp->setVisible(false);

和:

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

不幸的是,两者都未能隐藏/删除Help菜单......

拜托,还有其他办法吗?

[码]:

MainWindow::MainWindow(QWidget * parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setWindowFlags(this->windowFlags() & ~Qt::WindowMaximizeButtonHint);
    if(!server.listen(QHostAddress("192.168.1.2"), 8001))
        return;
    if(true) // just testing...
       ui->menuHelp->menuAction()->setVisible(false);
}

仅仅是为了测试,我在menuBar添加了3个菜单。
然后我尝试了这个:

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

它的工作方式与预期相同 - 它隐藏了menu3 你的问题在别的地方。

代码ui->menuHelp->setVisible(false); 隐藏菜单,而不是menuBar上的操作。 例如,当您单击menuBar上的操作时,菜单将变为可见。 然后你可以用这行代码隐藏它。 但是当你直接从构造函数调用它时,菜单仍然是不可见的,所以这段代码什么都不做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM