J'utilise QThread pour effectuer des calculs dans un thread séparé. La commande Thread est lancée par un clic de bouton, qui lance la fonction StartMeasurement(). Le thread peut terminer le processus par lui-même (après avoir terminé les calculs) et émet le signal PyQT terminé. Ou le thread peut être arrêté par l'utilisateur par le clic stopBtn.Redémarrer QThread avec GUI
La fonction terminate() fonctionne, mais j'éprouve beaucoup de problèmes lorsque j'essaie de redémarrer le thread.
Est-il recommandé d'utiliser ici l'approche movetoThread()? Ou comment puis-je m'assurer que le thread est arrêté correctement pour permettre un redémarrage correct. (Moyens, à commencer nouveau!)
commence le measurment dans un 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()