Qt 设置QTableWidget,QListWidget,QTreeWidget鼠标右键

文章目录[隐藏]

前言

今天看书看到,QListWidget 的鼠标右键方法(customContextMenuRequested),但是写好鼠标右键的槽函数后依然不能用,结果是信号没触发。加上下面一句就对了。

ui->listWidget->setContextMenuPolicy(Qt::CustomContextMenu);

具体实现

ui->listWidget->setContextMenuPolicy(Qt::CustomContextMenu);
void MainWindow::on_listWidget_customContextMenuRequested(const QPoint &pos)
{
    Q_UNUSED(pos);
    QMenu *menuList = new QMenu(this);

    QAction *add = new QAction(QStringLiteral("添加"), this);
    QAction *del = new QAction(QStringLiteral("删除"), this);
    QAction *modify = new QAction(QStringLiteral("修改"), this);
    connect(add, SIGNAL(triggered()), this, SLOT(addClicked()));


    menuList->addAction(add);
    menuList->addAction(del);
    menuList->addAction(modify);

    menuList->exec(QCursor::pos());

    // delete menuList;
}

void MainWindow::addClicked()
{
    QMessageBox::about(this, QStringLiteral("提示消息"), QStringLiteral("你点了 add"));
}

效果

鼠标右键不能截图。。。

Qt 设置QTableWidget,QListWidget,QTreeWidget鼠标右键
posted @ 2019-12-24 19:33  不随。  阅读(48)  评论(0编辑  收藏  举报  来源