Qt信 和槽的连接--发射信 而槽未响应

connect函数应该在哪里连接信 和槽呢怎么用呢么会出现槽不响应信 的问题呢br> 这个问题在刚接触Qt的时候可能会碰到,前两天我在开发软件的过程中就遇到了这个问题,我发射一个自定义的信 ,但是与其连接的槽函数却没有被执行。在试过 上很多方法之后,未果,但是我看见了一个十分贴近的答案,是论坛中的这个问答http://bbs.csdn.net/topics/390536956。于是我脑中闪过一个想法,可能就是最用域在作怪。然后我试着又修改了一两次, 又未果,但我坚信是这个问题,应该是哪里没理解到位,于是决定写一个简单点的程序测试一把,最终成功了。
这次的经历体现出了基础的重要性以及我这个半路出家的程序员基础还很差!–谨以此文来记录问题和鞭策自己。测试程序入下:
整体结构如图:

这里写图片描述

测试代码:

经过此番,我的问题终于解决了。总结一下:
在使用connect连接一个信 和一个槽的时候,要注意sender和receiver的作用域,这两个对象如果有一个的提前“死掉了”的话,connect就不会成功。

补充一点偶尔会被遗忘的细节:发射信 时,不仅要保证对象仍在其作用域内,还要注意emit函数要在connect函数连接成功后执行,否则仍然会发生相同的问题。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年4月11日
下一篇 2017年4月11日

相关推荐