QT鼠标右键弹出菜单选项

老规矩,直接开始步骤

第一步:在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>

第五步:运行看效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hwx802746/article/details/109336340