两种方式:
void contextMenuEvent(QContextMenuEvent *event) override; // 鼠标右键菜单 方法即可
xx->setContextMenuPolicy(Qt::CustomContextMenu); connect(xx, &QWidget::customContextMenuRequested, pMainWindow, &MainWindow::onContextMenu); 然后自己就在onContextMenu这个函数中快乐的操作啦。//注意:让对方发射信号后对方就没法执行它默认的菜单动作了,所以我们得完全在我们的槽函数中自己生成好菜单
如果想拿到默认自带的菜单,那么用createStandMenuxxxxxx那个函数(例如追加菜单项的action就是这样应用场景)。
参考博客:Qt创建右键菜单的方法_luckyone906的博客-CSDN博客_qt添加右键菜单
我的另外两个有用参考博客:
qt事件循环的原理 https://biao2488890051.blog.csdn.net/article/details/127783653
qt事件和信号区别于联系以及其它知识点笔记_标biao的博客-CSDN博客_qt信号与事件 区别