Qt contextMenu的创建和使用

本文详细介绍了Qt中部件上下文菜单的四种形式:默认菜单、无菜单、由Action定义的菜单和自定义菜单。通过设置ContextMenuPolicy,可以实现不同类型的菜单。示例代码展示了如何创建和使用自定义菜单,包括连接信号和槽,以及在鼠标点击时显示菜单的方法。
摘要由CSDN通过智能技术生成

Qt中的部件的弹出菜单(ContextMenu),依据ContextMenuPolicy的值的不同,有四种形式:
一、默认菜单
此时,ContextMenuPolicy的值为Qt::DefaultContextMenu,这是默认值,其将显示部件定义的默认菜单
二、无菜单
此时,ContextMenuPolicy的值为Qt::NoContextMenu
三、由Action定义菜单
此时,ContextMenuPolicy的值为Qt::ActionsContextMenu,要为此部件定义这种菜单,很简单,只要把已经定义好的Action部件插入到要显示此菜单的部件中,部件将自动按顺序显示菜单。
QWidget::addAction(QAction *action);
四、自定义菜单
此时,ContextMenuPolicy的值为Qt::CustomContextMenu,这回,有两种方式来定义菜单,一种是响应
customContextMenuRequested()这个signal,在响应的槽中显示菜单(QMenu的exec()方法)。第二种是需要从这个部件的类中派生一个类,重写contextMenuEvent()这个函数显示菜单(QMenu的exec()方法显示)。


第三种很简单:

void Mai

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值