Bonjour,
j'ai un petit problème très simple à comprendre mais assez complexe à résoudre.
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void MainWindow::sleep(int time) { dieTime = QTime::currentTime().addMSecs(time); while (QTime::currentTime() < dieTime) QCoreApplication::processEvents(); // (QEventLoop::AllEvents, 100) }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void MainWindow::button_test1() { while(true) { this->write("test 1", "console"); this->sleep(1000); } }Quand j'appuis sur le bouton test2 après le bouton test1, le bouton test1 se stop, le bouton test2 écrit 10 fois "test 2" et seulement à la fin le bouton test1 reprends l'écriture de "test 1" dans la console de mon application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void MainWindow::button_test2() { int nb = 0; while(nb < 10) { this->write("test 2", "console"); this->sleep(1000); nb++; } }
N'y a-t'il pas un moyen pour que button_test1 et button_test2 s’exécute en même temps en prenant le relais durant le sleep ?
La seul solution est-elle de passer par des threads ???
Merci d'avance,
Matthieu
Partager