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

A线程发给B线程数据,B线程中经过处理后发给GUI线程 求教?

2
回复
6109
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 2016-7-27 19:03:13 显示全部楼层 |阅读模式
2Qter豆
class A : public Qthread
{
  ..
signals:
     void send(int a, int b);
}
void A ::run()
{
while(1)
{
    emit this ->send(a,b);
}

class B : public Qthread
{
  ..
signals:
     void send_GUI(int x, int y);
slots:
     void send_show(int a, int b){x =a ,y =b};
}
class mainwindow
{
  ..
slots:
     void GUI_show(int x, int y);
}
class mainwindow : public Qthread
{
this->connect(A,send,B,send_show);
this->connect(B,send_GUI,this,GUI_show);
}
代码大概是这样的一个思路  现在是在GUI线程中还是没有数据显示出来
我想问的是因为在两个数据中都要有while循环  且A给B数据 B 处理给主线程  是不是要用优先级 互斥之类的锁什么的 ?
请大家给我一个思路 谢谢

回复

使用道具 举报

尚未签到

2016-7-27 23:25:14 显示全部楼层
去QThread文档里面看看吧,里面不推荐这种继承QThread的做法,官方是推荐使用movetothread,文档有例子,最好是connect把东西传回给主线程
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-7-30 19:15:09 显示全部楼层
谁来emit send_GUI?                  
回复

使用道具 举报

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

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