2 wokewudi666 wokewudi666 于 2016.05.08 18:11 提问

QT中readyRead()信号如何多次触发

一个可以登录注册的小聊天程序 qt做客户端 linux c写服务器 想在登录界面和聊天界面都用readyRead()信号触发自己写的readmessage()函数处理服务器发回来的消息 可是只有第一个次可以触发信号进入readmessage,其他时候都不行 求教

3个回答

CSDNXIAON
CSDNXIAON   2016.05.08 18:22

qt 信号连接方式
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

bullzerone
bullzerone   2016.05.08 20:43

不知道你的readmessage()函数如何实现的,里面应该有个死循环,不停的读取数据的。无论何时有数据到达,readyread()信号就会发射。
并且到达的数据应该被立刻读取,不然的话,下次有数据到来时,readyread()就不会发射了。

wokewudi666
wokewudi666 我的理解是 readyread信号在有数据从tcpsocket接收时触发 然后调用与其绑定的readmessage处理 所以事件循环应该是在这个界面exec时候启动的 不知道为什么要把事件循环写在readmessage里面 ? 还是readmessage只触发一次?所以只能在readmessage函数里不断读取io流里的数据? 刚学 不太懂 希望可以说的稍微具体一点 谢谢
一年多之前 回复
QuantumEnergy
QuantumEnergy   2016.05.08 23:37

贴这部分的代码看看?

wokewudi666
wokewudi666 现在手机不方便打代码 回去贴
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!