QToolBox中QToolBoxButton的右键增加菜单方式

    最近,做了一个小程序,使用到了QToolBox这个控件,在使用过程中需要在QToolBox的分组项上增加右键菜单,

但是查了一下QToolBox的说明,只有左键单击的时候,有void  currentChanged(int index)这个信号发出当前选中组的索引,

没有右键点击发出选中组的索引信号。那我们如何才能找到这个点击右键时,获取到当前组的索引呢?

1、在QToolBox的基类QWidget中,有一个虚函数contextMenuEvent(QContextMenuEvent *e),通过测试发现,在右键点击组按钮的时候,能够收到这个消息,恩,有希望了!接下来我们就要看,能否通过这个消息来获取到这个组的相关信息呢?

2、在这个虚函数contextMenuEvent(QContextMenuEvent *e)中增加测试代码:    

QWidget *pWidget = childAt(e->x(), e->y());
qDebug() <<  pWidget;

 输出的结果为QToolBoxButton(0x29cc560, name="qt_toolbox_toolboxbutton")

 哦,原来这个按钮是类QToolBoxButton的对象。

3、在QT的说明里搜索QToolBoxButton,结果一无所有,什么也没查到。看样子这个类应该是QT内部使用的了。

4、不让直接使用这个类,那该咋办啊? 既然你是Button,应该与QAbstractButton有关系吧,那就强转一下试试:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值