如何为 QMenu 中的每个动作设置信号?

How to set signals for each action in QMenu?

    for(auto s :listofPossibleValues){
        // item =s;

        action = myMenu.addAction("Set Value to "+s);

        connect(action,SIGNAL(triggered(bool)),this,SLOT(menuClicked()));
    }
  void MainWindow::menuClicked(){
    value = new QStandardItem(item);
    model->setItem(mainindex->row(),mainindex->column(),value);
}

我使用上面的代码添加动作并将信号连接到我的菜单槽。以前我使用项目作为文本。但它只适用于最后一项。

至少有人知道如何获取我点击的操作吗? 我怎样才能让它适用于每个单独的项目,而不仅仅是最后一个项目?

使用QMenutriggered signal:

connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(menuClicked(QAction*)));

然后,在menuClicked()中:

void MainWindow::menuClicked(QAction *action) {
    // do something with action
}