Qt自定义菜单栏

来源:互联网 发布:小黄鸭淘宝客筛选软件 编辑:程序博客网 时间:2024/05/16 13:04

在头文件中加入
/****************创建菜单栏目***************/
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();           //事件响应
 
}
 
运行结果如下:




原创粉丝点击