15,629
社区成员




在析构函数中写退出线程的操作。
注意事项:如果用while循环+标志位控制线程持续运行,则应该在循环体内末尾加上QThread::usleep(10);
如果不加sleep,则析构函数调用完线程无法立即退出,相当于是这个标志位被线程持续占用,外部线程无法写入
要是重载的QThread::run,就如赵4老师所述。设置loop=false,而后主线程wait(1000),再terminate()(不友好)
如果是子线程消息循环,直接定义主线程信号sig_quit,在子线程响应槽里 quit()
设置一个全局变量
bool loop=true;
线程函数中
while (loop) {
}
退出窗口时,loop=false;