Comment résilier un QThread partir de l'interface graphique de l'application?

J'ai essayé d'utiliser self.terminate() dans la classe QThread, et aussi self.thread.terminate() dans l'interface de la classe. J'ai aussi essayé de mettre self.wait() dans les deux cas. Cependant, il y a deux scénarios qui se produisent:

1) Le fil ne prend pas fin du tout, et le GUI se fige en attente pour le fil à la fin. Une fois le fil terminé, le GUI dégèle et tout revient à la normale.

2) Le fil, en effet, que de mettre fin, mais en même temps, il gèle l'ensemble de l'application.

J'ai aussi essayé d'utiliser self.thread.exit(). Pas de joie.

Pour préciser davantage, je suis en train de mettre en œuvre un utilisateur-bouton abandonner dans le GUI qui permettrait de mettre fin à l'exécution du fil à n'importe quel point dans le temps.

Merci d'avance.

EDIT:

Ici est la run() méthode:

def run(self):
    if self.create:
        print "calling create f"
        self.emit(SIGNAL("disableCreate(bool)"))
        self.create(self.password, self.email)
        self.stop()            
        self.emit(SIGNAL("finished(bool)"), self.completed)

def stop(self):
     #Tried the following, one by one (and all together too, I was desperate):
     self.terminate()
     self.quit()
     self.exit()
     self.stopped = True
     self.terminated = True
     #Neither works

Et voici le GUI méthode de la classe pour l'abandon de la thread:

def on_abort_clicked(self):
     self.thread = threadmodule.Thread()
     #Tried the following, also one by one and altogether:
     self.thread.exit()
     self.thread.wait()
     self.thread.quit()
     self.thread.terminate()
     #Again, none work
Remarque: l'auto.fin === (self.mis fin = true), rien de plus. Pour 99% de toutes les implémentations.
Merci, mais ce n'aide pas vraiment à résoudre le problème.
Il est seulement un moyen sécuritaire de mettre fin à fil - laissez-le terminer toutes les tâches informatiques. Pour l'exécuter, vous devez vérifier fil.résilié avant l'exécution de tâches difficiles.
Eh bien, c'est certainement pas ce que je cherche.

OriginalL'auteur Bo Milanovich | 2011-10-28