如何在 QT 中的多个级别的窗口之间传输消息

查看 53|回复 5
作者:h3xz   
假设form_B和form_C在form_A下创建,然后form_D在form_C下创建。form_B如何从form_D获得信号?
我的想法是先将信号从form_D传递到form_C,然后再传递到form_A,最后form_A将信号传递到form_B。然而,这样会有很多与各种信号相关的连接,并且很难管理。
真诚地请教下是否有其他方法可以管理这么多信号。真诚地询问是否有更方便的方法来管理信号,将信号从form_D传输到form_B。
NoOneNoBody   
总有个 main 吧,main 接收信号再传出去
VVVYGD   
xiodie,看起来你是要个 eventbus
royking930911   
设计一个消息管理器 所有需要传递消息的信号都走这个管理器的事件接口 然后这个消息管理器做成一个单例 所有对象都能拿到 过滤一下就行了
mioktiar56   
推荐 eventpp 库
Gavin999   
好问题,应该是很多人使用 QT 的过程中都遇到过的问题。
赞同 @royking930911
QT 的对象都有保存自己的子对象 List ,而一般都是通过一个或几个根窗口拓展的子窗口,然后通过一个对象名称来查询对象指针,直接通过指针绑定信号槽函数。而不用反复从内向外通过多次信号槽的连接完成消息传递。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部