在头文件中加入
/****************创建菜单栏目***************/
void createActions();
/****************重写菜单事件函数***************/
void contextMenuEvent(QContextMenuEvent*event);
QMenu *menu;
QAction*copy;
QAction*paste;
QAction*del;
在源文件中加入
void MainWindow::createActions()
{
menu=new QMenu(); //创建菜单
copy=new QAction(this); //菜单栏项目复制
paste=new QAction(this); //菜单栏项目粘贴
del=new QAction(this); //菜单栏项目删除
copy->setText(tr("复制")); //菜单栏项目复制
paste->setText(tr("粘贴"));//菜单栏项目粘贴
del->setText(tr("删除")); //菜单栏项目删除
}
void MainWindow::contextMenuEvent(QContextMenuEvent *event)
{
menu->clear(); //清空原有菜单栏项目
menu->addAction(copy); //加菜单栏项目复制
menu->addAction(paste); //加菜单栏项目粘贴
menu->addAction(del); //加菜单栏项目删除
menu->exec(QCursor::pos());//在鼠标点击时出现
event->accept(); //事件响应
}
运行结果如下: