原因: 线程没有正常销毁。考虑你的QThread是不是在另一个线程中没有存在栈上,即没有 new QThread?改成new就可以了。还有一个前提就是你在程序退出的时候确保所有线程都会quit() 或 exit()
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
... ...
QThread thread;
... ...
return a.exec();
}
这样QApplication退出时,thread会被销毁,但是thread可能还没赶上自己退出,因此需要new QThread,如此,即使QApplication推出, thread也不会被销毁,得到时间退出,错误消失。