老规矩,直接开始步骤
第一步:在UI界面设置按钮的contextMenuPolicy 属性选为CustomContextMenu 保存
第二步:右键按钮转到槽,信号选择customContextMenuRequested
第三步:转到槽后,在槽函数中搞如下代码
void MainWindow::on_pushButton_customContextMenuRequested(const QPoint &/*pos*/) // 注释掉pos
{
QMenu *cmenu = new QMenu(ui->pushButton);
QAction *action1 = new QAction(tr("删除"), this);
action1->setData(1);
cmenu->addAction(action1);
// 下面这个on_menu_click(bool)槽函数做自己想做的事
connect(action1, SIGNAL(triggered(bool)), this, SLOT(on_menu_click(bool)));
cmenu->exec(QCursor::pos());
}
第四步:加头文件
#include <QMenu>
第五步:运行看效果