Qt右键弹出菜单+图标 您所在的位置:网站首页 如何删除小鸟壁纸的右键菜单图标 Qt右键弹出菜单+图标

Qt右键弹出菜单+图标

2024-07-06 23:02| 来源: 网络整理| 查看: 265

ui->tableWidget_gprs->setContextMenuPolicy(Qt::CustomContextMenu);    //这个很重要,要在构造函数里面设置完(此部件定义这种菜单)

 

this->connect(ui->tableWidget_gprs,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(slotShowContextmenu(QPoint)));   //信号和槽函数连接

 

QMenu *RBmenu; QAction *EditAction; QAction *DelAction; QAction *SaveAction;

void GprsHelp::slotShowContextmenu(QPointp) { CreateMenu(); } void GprsHelp::CreateMenu() { RBmenu = new QMenu(ui->tableWidget_gprs); EditAction = RBmenu->addAction("编辑"); DelAction = RBmenu->addAction("删除"); QIcon icon = QIcon(":/save.ico"); //加载图片 SaveAction = RBmenu->addAction(icon,"保存"); connect(EditAction, SIGNAL(triggered(bool)), this, SLOT(sloMenu_Edit())); connect(DelAction, SIGNAL(triggered(bool)), this, SLOT(sloMenu_Del())); connect(SaveAction, SIGNAL(triggered(bool)), this, SLOT(slotMenu_Save())); RBmenu->exec(QCursor::pos());//在当前鼠标位置显示 }

 

网友资料:

Qt中的部件的弹出菜单(ContextMenu),依据ContextMenuPolicy的值的不同,有四种形式: 一、默认菜单 此时,ContextMenuPolicy的值为Qt::DefaultContextMenu,这是默认值,其将显示部件定义的默认菜单 二、无菜单 此时,ContextMenuPolicy的值为Qt::NoContextMenu 三、由Action定义菜单 此时,ContextMenuPolicy的值为Qt::ActionsContextMenu,要为此部件定义这种菜单,很简单,只要把已经定义好的Action部件插入到要显示此菜单的部件中,部件将自动按顺序显示菜单。 QWidget::addAction(QAction *action); 四、自定义菜单 此时,ContextMenuPolicy的值为Qt::CustomContextMenu,这回,有两种方式来定义菜单,一种是响应 customContextMenuRequested()这个signal,在响应的槽中显示菜单(QMenu的exec()方法)。第二种是需要从这个部件的类中派生一个类,重写contextMenuEvent()这个函数显示菜单(QMenu的exec()方法显示)。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有