• 3173阅读
  • 2回复

QT 不支持线程的 pause ,resume啊! [复制链接]

上一主题 下一主题
离线cyberpunker
 

只看楼主 倒序阅读 楼主  发表于: 2016-08-12

   工作线程使用Qthread启动的,但都是用C++写的,里边有地方用了MFC messagebox,弹出后,线程阻塞,等用户进行选择后获取选择的结果继续运行,

  但现在要把线程里界面相关的全部清除,要把这个对话框替换成QT的(但还是得是纯C++的),相当于要给QT GUI发送消息,然后又要从QT GUI返回数据,在这个过程中,线程不能继续运行。

  现在的问题是:Qmessagebox不能用在非GUI线程。 如果要通过信号的方式通知GUI的话,又不能阻塞线程。

是不是只能显示的pause线程->弹出对话框->获取结果->resume线程这一个办法了?
离线songvsclou

只看该作者 1楼 发表于: 2016-08-13
用QEventLoop
离线cyberpunker

只看该作者 2楼 发表于: 2016-08-14

搞定, 用信号的第五个参数, 跨线程的那个!
快速回复
限100 字节
 
上一个 下一个