2009-08-15 6 views
0

je tente de créer un fil dans l'intervalle QT, peut déclarer, créer et démarrer, mais il ne se déclenche pas la fonction Exécuter (je peux voir que par l'intermédiaire de mettre un point d'arrêt dans cette fonction)QThread Non À partir

VT. h:

class VT : public QThread 
{ 

public: 
    void Run(); 
}; 

VT.cpp

void VT::Run() 
{ 
.. 
} 

et main.cpp:

VT vt; 
vt.Start(); 
// starts ok but no action 

J'inclus d'autres en-têtes dans VT.h, bloquent-ils? Avec quelques incomp. problème?

Répondre

5

Votre fonction Run a démarré avec un R majuscule, l'exécution virtuelle de QThread() est en minuscules. Le compilateur pense que votre Run() est totalement sans rapport avec QThread. Essayez de renommer votre fonction pour annuler VT :: run().

Aussi, c'est une bonne idée de protéger votre fonction run, comme dans QThread.

Questions connexes