QT滑鼠右鍵彈出選單選項

2020-10-29 11:00:28

老規矩,直接開始步驟

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

第五步:執行看效果

在這裡插入圖片描述