QThread: Destroyed while thread is still running

来源:互联网 发布:百叶窗 知乎 编辑:程序博客网 时间:2024/06/06 23:56

在qt开发过程中,win10下运行没有发生此警告,win7下运行发现了此警告。后来查阅资料发现问题如下:


如果一个线程运行完成,就会结束。可很多情况并非这么简单,由于某种特殊原因,当线程还未执行完时,我们就想中止它。

不恰当的中止往往会引起一些未知错误。比如:当关闭主界面的时候,很有可能次线程正在运行,这时,就会出现如题提示。


解决方法:

一、第一种方法

1.qt中运用了很多信号和操,需要将该线程所有的槽disconnect。

使用正常终止该线程的函数方法quit,并且wait等待线程结束。

disconnect(_mergethread);//断开该线程所有的链接
_mergethread->quit();
_mergethread->wait();




阅读全文
0 0