鼠标右键弹出菜单

1、在头文件中声明QMenu、QAction对象

QMenu* tempTable1Menu;

QAction* action1;

2、在源文件中定义对象

this->tempTable1Menu = new QMenu("菜单",ui->tableWidget);//ui->tableWidget就是右键哪个控件弹出菜单

this->action1= new QAction("增加设备",this);

3、在右键回调函数

this->tempTable1Menu->addAction(this->action1);

this->tempTable1Menu->exec(QCursor::pos());//显示菜单项,QCursor::pos()是当前鼠标位置

 4、将整个项目的menu点击连接到一个槽

QObject::connect(treeMenu, SIGNAL(triggered(QAction*)), this, SLOT(menuBarClickSlot(QAction*)));//点击选项信号与槽
void menuBarClickSlot(QAction* action)
{
    if (logOutAction == action)//退出登录
    {
        this->close();
    }
  else if......... }
原文地址:https://www.cnblogs.com/judes/p/7308119.html