QAction *morenzuAction = new QAction(tr("默认组"),menu1);
menu1->addAction(morenzuAction);
connect(morenzuAction,SIGNAL(triggered()),this,SLOT(move_Action_triggered()));
菜单menu1中可能有多个action,想在槽函数中获得按下的是哪个action,谢谢~~
------解决方案--------------------
- C/C++ code
//声明void menu1ActionClick(QAction *action);// 链接connect(menu1,SIGNAL(triggered(QAction *)),this,SLOT(menu1ActionClick(QAction *)));// menu1ActionClick定义// morenzuAction声明为类的成员变量void Window::menu1ActionClick(QAction *action){ if (action == morenzuAction) { setWindowTitle("morenzuAction click"); }}
------解决方案--------------------
另外一种方法:
在move_Action_triggered()函数中,通过sender()来判断是哪个action触发的
------解决方案--------------------
- C/C++ code
QAction* action = qobject_cast<QAction*>(sender());