0
点赞
收藏
分享

微信扫一扫

qt实现自定义菜单


两种方式:

  1. 继承这个窗口类,然后重写里面的void contextMenuEvent(QContextMenuEvent *event) override; // 鼠标右键菜单 方法即可
  2. 另一个类,要想操作这个类的自定义菜单,此时并没有继承那个窗口类,所以没法重写那个类的菜单函数。那么,就让那个类发射一个信号即可,xx->setContextMenuPolicy(Qt::CustomContextMenu); connect(xx, &QWidget::customContextMenuRequested, pMainWindow, &MainWindow::onContextMenu); 然后自己就在onContextMenu这个函数中快乐的操作啦。//注意:让对方发射信号后对方就没法执行它默认的菜单动作了,所以我们得完全在我们的槽函数中自己生成好菜单

参考博客:​​Qt创建右键菜单的方法_luckyone906的博客-_qt添加右键菜单​​ 

我的另外两个有用参考博客:
​​​qt事件和信号区别于联系以及其它知识点笔记_标biao的博客qt信号与事件 区别​​ 

​​qt事件的触发原理_标biao的博客-_qt触发事件​​


举报

相关推荐

0 条评论