我正在使用QThread在独立线程中进行一些计算。通过单击按钮启动线程,并调用函数
在这里建议使用
StartMeasurement()
。
线程可以自行完成过程(在完成计算后),并发出PyQT信号finished。或者用户可以通过单击stopBtn
停止线程。
terminate()
函数是有效的,但当我尝试重新启动线程时,会遇到很多问题。在这里建议使用
movetoThread()
方法吗?
还是该如何确保线程正确停止以实现适当的重启?(即开始新的!)# starts the measurment in a Thread: StartMeasurement()
def StartMeasurement(self):
self.thread = measure.CMeasurementThread(self.osziObj, self.genObj, self.measSetup)
self.thread.newSample.connect(self.plotNewSample)
self.thread.finished.connect(self.Done)
self.stopBtn.clicked.connect(self.thread.terminate)
self.stopBtn.clicked.connect(self.Stop)
self.thread.start()