首页 > 解决方案 > 将操作分配给 QMenu 项

问题描述

我创建了一个 Qt 项目,其中我使用了一个小部件,它不支持设计器类中的任何菜单,因此应该以编程方式完成。我成功地创建了菜单并添加了项目,但我正在努力为菜单项分配任何操作......

这就是我到目前为止所做的:

    QMenuBar* menuBar = new QMenuBar();
    QMenu *fileMenu = new QMenu("File");
    menuBar->addMenu(fileMenu);
    fileMenu->addAction("Save");
    fileMenu->addAction("Exit");
    QAction* newAct = new QAction(tr("&New"), this);
    newAct->setShortcuts(QKeySequence::New);
    newAct->setStatusTip(tr("Exit"));
    connect(newAct, &QAction::triggered, this, &MainWindow::on_action_triggered);

    this->layout()->setMenuBar(menuBar);

但是当我按下退出项目时没有触发任何动作

标签: qt

解决方案


addAction创建QAction并返回指向它的指针,您不需要显式创建它,但是当您必须将项目添加到菜单时addAction,设置 parent 是不够的fileMenu->addAction(newAct);


推荐阅读