QT 右键弹出菜单

时间:2021-02-15 15:40:46

QWidget及其子类都可有右键菜单

1.设置标志

在widget初始化的时候

setContextMenuPolicy(Qt::CustomContextMenu);

设置为自定义菜单模式

2.在需要的地方进行信号关联

connect( mBrowserView, &CivDataSourceTreeView::customContextMenuRequested, this, &CivDataSourceDockWidget::showContextMenu );

3,实现槽函数

 QMenu *menu = new QMenu( this );

QAction* proDelete = new QAction("删除", this);
menu->addAction(proDelete);
connect(proDelete, &QAction::triggered, this, &CivDataSourceDockWidget::deletePro); menu->popup( mBrowserView->mapToGlobal( pt ) );