1. widget 控件 ContextMenuPolicy 设置为 CustomContextMenu
2. include 文件中声明菜单的指针
QMenu *listRightMenu;
3. 初始化函数中进行构建
QMenu *listRightMenu = new QMenu(ui->tableWidget);
QAction *addUnitAction = listRightMenu->addAction(QString::fromLocal8Bit("添加通信点"));
QAction *editUnitAction = listRightMenu->addAction(QString::fromLocal8Bit("修改通信点"));
QAction *deleteUnitAction = listRightMenu->addAction(QString::fromLocal8Bit("删除通信点"));
connect(addUnitAction,SIGNAL(triggered(bool)),this,SLOT(addUnit()));
this->listRightMenu = listRightMenu;
4. 右键信号中进行调用
<pre name="code" class="cpp">void MainWindow::on_tableWidget_customContextMenuRequested(const QPoint &pos)
{
if(this->listRightMenu)
{
this->listRightMenu->exec(QCursor::pos());
}
}