说明
因为UI更改需要在主线程中完成,如果在子线程中修改UI,会导致错误或者内存问题。
思路
在子线程中通过信号-槽的方式,向主线程发送更改UI的信号;主线程接收到信号后,完成对UI的更改。
注意
1、子线程中发送信号,必须要在子线程的头文件中加上宏Q_OBJECT。如果不加这个宏,在编译时会报错“error: collect2: error: ld returned 1”。
2、加上宏Q_OBJECT后,需要先清理项目,然后“构建”工具栏中点击“执行qmake”,最后重新构建项目。【一定要按照这个流程来操作,否则依然会出现错误“error: collect2: error: ld returned 1”】