首页| 论坛| 消息

标题:Qt 同一页面所有按钮事件捕获
作者:dyf007
日期:2018-09-06 18:52
内容:

我做了一个界面,想要同时捕获界面上所有按钮的的pressed()信号,就是无论按下哪一个按钮都能捕获。除了将这些按钮都重写之外,有没有哪位大神知道有其他简单一点的方法。


#1 [小韩老师 09-06 20:01]
如果所有按钮是都是一个类型的,可以直接将所有按钮都链接到一个处理的信号槽中。如果按钮类型复杂多样,也可以用如上方法,就是操作复杂点。
其它方法也有,比如在一个区域放置一堆模拟按钮的东西,你截获所有的鼠标信息,然后处理鼠标信息,匹配是那个按钮被按下
#2 [大漠之鹰 09-06 20:31]
QSignalMapper可以吧
#3 [firebolt 09-06 20:35]
楼下两位的方法都是可行的。那天随手打了一个QGroupBox是不对的,QButtonGroup更简单些。
#4 [liudianwu 09-06 21:23]
用QSignalMapper,或者将所有按钮绑定到同一个槽函数,然后槽函数第一行这样写
QPushButton *btn= (QPushButton *)sender();
QString btnText = btn->text();
QString objName = btn->objectName();
这样你就可以区分具体是哪个按钮触发的信号关联的槽了。
#5 [songvsclou 09-07 09:00]
QButtonGroup应该行

<< 1 2 >> (1/2)

回复 发表
主题 版块