Bonjour.
Voilà, j'ai un soucis avec une petite application que je développe? C'est un détail, mais cela m'ennuie.
L'application se constitue d'une classe centrale (ApplicationManager) comportant un pointeur vers une MainWindow ainsi qu'un pointeur vers une classe InstrumentManager.
La classe InstrumentManager tourne dans un thread différent du thread principale, et construite par la méthode du moveToThread :
Mon problème est que lors de la fermeture de l'application, j'ai le message "QThread: Destroyed while thread is still running" dans la sortie de debug.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 InstrumentManager::InstrumentManager() : { moveToThread(&m_thread); m_thread.start(); }
A la fermeture de l'application, la classe principale détruit le manager d'instrument :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ApplicationManager::~ApplicationManager() { delete m_instrumentManager; }Il semblerait qu'appeler la méthode quit() du thread à la destruction ne soit pas suffisant, alors comment terminer mon application proprement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 InstrumentManager::~InstrumentManager() { m_thread.quit(); }
Partager