QThread: Destroyed while thread is still running
原因:python中线程不能是临时变量,
错误代码:
for cam in cams:
mdcall_thread = Multi_dllcall_q()
mdcall_thread.param(cv_dll, cam[0], cam[1], cam[2], cam[3])
mdcall_thread.start()
while True:
pass
线程会自动释放掉。
解决方法:
如果是一个线程:
self.mdcall_thread = Multi_dllcall_q()
self.mdcall_thread.param(cv_dll, cam[0], cam[1], cam[2], cam[3])
self.mdcall_thread.start()
如果批量线程,正确代码:
aa=[]
for cam in cams:
mdcall_thread = Multi_dllcall_q()
mdcall_thread.param(cv_dll, cam[0], cam[1], cam[2], cam[3])
aa.append(mdcall_thread)
mdcall_thread.start()