找回密码
 立即注册
收起左侧

关于线程中通过信号发送数据到UI线程,更新UI的疑问

4
回复
6277
查看
[复制链接]

尚未签到

来源: 2015-9-3 23:57:04 显示全部楼层 |阅读模式
1Qter豆
主线程建立tcpserver的监听,每当有客户端连接时,启动一个线程,怎么在线程中将socket的数据发送到主线程中(用来更新ui)呢?connect()函数的参数有疑问:connect(this, SIGNAL(update_ui_emit(int)), (这里怎么写呢?), SLOT(update_ui(int)));

最佳答案

查看完整内容

这个都不是事啊,,你可以自定义个信号,把你new的子线程对象发送到主线程里,在主线程关联信号和槽啊
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-3 23:57:05 显示全部楼层
这个都不是事啊,,你可以自定义个信号,把你new的子线程对象发送到主线程里,在主线程关联信号和槽啊
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-4 10:05:34 显示全部楼层
不论是槽函数还是信号,是哪个的就写哪个的对象,,你说的"启动一个线程,在线程中将socket的数据发送到主线程中"你的意思就是update信号在子线程里发送,发送给主线程,,主线程更新ui(就是主线程调用槽函数吧?)   如果是这样,你就这么写:connect(子线程对象,更新信号,this,槽函数)
回复

使用道具 举报

尚未签到

2015-9-4 11:05:47 显示全部楼层
qq1043068972 发表于 2015-9-4 10:05
不论是槽函数还是信号,是哪个的就写哪个的对象,,你说的"启动一个线程,在线程中将socket的数据发送到主线程 ...

首先感谢你的回答,这里的socket通信线程是动态创建的,也就是说在incomingConnection(int)虚函数中new出来的子线程对象,这个对象不是在主线程中创建的。
回复

使用道具 举报

尚未签到

2015-9-4 20:53:33 显示全部楼层
qq1043068972 发表于 2015-9-4 12:11
这个都不是事啊,,你可以自定义个信号,把你new的子线程对象发送到主线程里,在主线程关联信号和槽啊 ...

感谢你,问题解决了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了