QT中為ListWidget中的item新增右鍵選單
阿新 • • 發佈:2020-12-30
//listWidget屬性設定為自定義選單
ui->listWidgetCommon->setContextMenuPolicy(Qt::CustomContextMenu);
connect(ui->listWidgetCommon, &QListWidget::customContextMenuRequested, [=](const QPoint& pos)
{
QMenu* pMenu = new QMenu(ui->listWidgetCommon);
QAction* pActionProperties = new QAction(tr("Modify properties"), pMenu);
//pActionProperties->setShortcut(QKeySequence("Ctrl+C"));//快捷鍵
connect(pActionProperties, &QAction::triggered, [=] {
onModifyProperties();//點選右鍵選單需要執行的函式
});
//只有當item不為空時才新增右鍵選單
if (ui- >listWidgetCommon->itemAt(mapFromGlobal(QCursor::pos()))!=nullptr)
{
pMenu->addAction(pActionProperties);
pMenu->popup(ui->listWidgetCommon->mapToGlobal(pos));
}
});
最終實現效果如下: