BOnjour à toutes et à tous !
J'utilise la classe QThread pour réaliser un traitement dans mon application.
Dans la fonction run(), je réaliser une boucle, et à chaque tour, j'envoie un signal pour envoyer mon résultat dans mon application principale où a été créé mon thread (thread créé dans une fonction uniquement) lors du clic sur un bouton (fonction UTiliserMonThread()).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void MyThread::run() { while(maCondition) //traitement emit(SignalResultat(mesResultats)); }Tout se déroule normalement, le résultat est correctement afficher les X fois que durent la boule, mais une fois finie, l'appli plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void AppliPrincipal::UTiliserMonThread() { MyThread thread = new MyThread(fileName); connect(thread , SIGNAL(SignalResultat(double**)), this, SIGNAL(afficherResultats(double**))); thread ->start(); }
si je retire le "emit" de "run()", plus de plantage !
Merci d'avance !
Partager