connect函数跟disconnect是否有必要成对使用

connect函数和disconnect是否有必要成对使用?
问题描述:
若执行这段代码“connect(sendBtn, SIGNAL(clicked()), this, SLOT(sendMsg()));”n次的话,当点击一下sendBtn按钮时,sendMsg()就会被执行n次...
我不太了解信号和槽机制的内部实现机制,不过从这个现象来看,当sendBtn被点击后,系统会遍历clicked()信号所维护的与槽(信号)的联系表,来执行相应的槽(信号)函数。因为上面的connect的函数执行了n次,且槽函数均为sendMsg(),所以就执行了n次。

麻烦高手指教下connect函数和disconnect函数都做了哪些工作?
connect disconnect 信号和槽

------解决方案--------------------
会不会是你的线程跑了N次了,导致一次按下button,实际触发了N次clicked()
------解决方案--------------------
你认为Qt会这样实现吗,或者说你认为这样现实的库会有人用吗?

引用:
问题描述:
若执行这段代码“connect(sendBtn, SIGNAL(clicked()), this, SLOT(sendMsg()));”n次的话,当点击一下sendBtn按钮时,sendMsg()就会被执行n次...
我不太了解信号和槽机制的内部实现机制,不过从这个现象来看,当sendBtn被点击后,系统会遍历clicked()信号所维护的与槽(信号)的联系表,来执行相应的槽(信号)函数。因为上面的connect的函数执行了n次,且槽函数均为sendMsg(),所以就执行了n次。

麻烦高手指教下connect函数和disconnect函数都做了哪些工作?

------解决方案--------------------
这种不都是一次性的嘛,signal是clicked,slot是sendMsg。怎么会有这么多次执行

看看信号-槽的讲解就好。这玩意每个人理解起来不一样。