Qt不同类之间如何emit信号进行触发操作?

假设现在我定义了一个类A,现在想在A的一个函数voidA::function1()当中的结尾处emit一个信号signal1(),然后利用这个信号触发另一个类B进行某项操... 假设现在我定义了一个类A,现在想在A的一个函数void A::function1()当中的结尾处emit一个信号signal1(),然后利用这个信号触发另一个类B进行某项操作void B::function2(),请问connect应该如何书写呢(尤其是sender和SIGNAL参数)?另外,对于类A和类B,有什么特殊要求吗? 展开
 我来答
创作者XXGDQ4kMbU
2012-07-24 · TA获得超过1281个赞
知道小有建树答主
回答量:371
采纳率:66%
帮助的人:424万
展开全部
要在类A,和类B都可见的地方.

比如在一个QMainwindow中.
定义一个类A *a,和一个类B *b,(当然要分配空间).你就可以这么connect他们.

connect(a,SIGNAL(signal1()),b,SLOT(function2()));

对于A,B两个类出来都必须继承于QObject类没其他要求..
oyms1988
2012-07-24 · TA获得超过1109个赞
知道小有建树答主
回答量:288
采纳率:100%
帮助的人:173万
展开全部
必须有一个C类中定义一个A类对象a和一个B类对象b,然后
connect(&a, SIGNAL(signal()), &b, SLOT(function2()));
AB类必须继承QObject类
追问
请问signal1在C类中引用的时候不需要写成a.signal1(),而function2()不需要写成b.function2()么?尽管A、B类已经在C中实例化,似乎connect当中都不“认识”这两个函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式