今天要在线程中处理文件上传,继承QThread后在run里面执行上传操作,发现线程中的网络请求根本没有响应,根据log判断,post请求已经发起,但是后台和抓包都看不到请求。
经过一番查询,发现QThread的run函数本来只是执行exec()函数,而继承了run之后,没有调用exec(),于是加上了exec(),发现网络请求终于成功了
https://doc.qt.io/qt-5/qthread.html#run
run的默认实现是调用exec()
调用exec()才会进入事件循环,知道调用exit()