一、建立子线程的程序,可以不用 自定义QThread的派生类
案例:
原来,我们自定义了1个TestThread,它的基类是QThread
现在,不需要了
解决步骤:
1、在主线程中,直接使用new建立QThread对象,如testThread
2、建立1个独立的类,如Student类,但基类必须是QObject
3、在主线程中,new 1个Student对象,如stu,然后,使用stu->moveToThread(testThread)函数,将Student对象放到子线程
4、testThread->start(),启动1个子线程
二、停止子线程的方法
步骤如下:
testThread->quit(); //通知子线程,可以退出了
testThread->wait(); //当前线程会阻塞,一直等,等到子线程退出了,才不阻塞了,程序才会向下执行
testThread->deleteLater(); //删除延迟,更安全的用法
delete testT