查看完整版本: [-- 线程应该如何向主线程同步发送事件呢? --]

QTCN开发网 -> Qt代码秀 -> 线程应该如何向主线程同步发送事件呢? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

lanmengli 2017-05-01 22:42

线程应该如何向主线程同步发送事件呢?


     多线程中,子线程应该如何向主线程同步发送事件呢?或者采用其他方式同步也可以?
哪位高手能指点一下。感谢

flfw1314 2017-05-06 20:13
你说的同步发送事件是什么意思?主线程依赖子线程的消息做下一步的动作?

friendship 2017-05-12 21:10
          

liuchangyin 2017-05-27 10:23
发送消息,利用槽和消息应该可以吧

fu22507411 2017-07-12 01:06
可以用信号量

cdhigh 2017-07-31 04:22
QT官方建议使用信号和槽,能保证线程安全

明离子 2017-08-17 11:32

1.在mainwindow的添加成员:

    QSubObj m_Obj;

    QThread m_SubThread;

2.mainwindow构造函数中设置:

  m_Obj.moveToThread(&m_SubThread);
  m_SubThread.start();

3.mainwindow构造函数中绑定:
connect(&m_Obj,SIGNAL(Yoursignal()),this,SLOT(YourSlot()));

以后要想子线程向主线程中发消息,只需在子线程中使用emit Yoursignal()就可以了,当然,提到的信号和槽函数,都需要你来声明和实现的。


查看完整版本: [-- 线程应该如何向主线程同步发送事件呢? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled