[QT]Problème avec signaux personnalisés

Résolu
reltak Messages postés 261 Date d'inscription   Statut Membre Dernière intervention   -  
reltak Messages postés 261 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis en train de créer une application en Qt avec QtCreator sous Windows, et j'ai un souci avec des signaux personnalisés.
Je vous explique :
J'ai une fenêtre qui appelle un thread qui va boucler pour générer plusieurs chaines de caractères.
Cette fenêtre doit afficher les chaines de caractères au fur et à mesure de leur génération.
J'ai donc un signal particulier dans ma classe héritant de QThread.
signal:
void strGenerated(QString &str);


Ensuite dans ma fenêtre je connecte le signal :

QObject::connect(thrGenerator, SIGNAL(strGenerated(QString&)), this, SLOT(dispString(QString&)));


J'ai dans le code de mon thread également :
emit strGenerated(theString);


La compilation semble bien fonctionner (qmake ne donne aucune erreur). Par contre, lors de l'écriture de l'exécutable, j'ai une erreur "collect2: ld return 1 exit status" avec comme commentaire :
undefined reference to thrgene::strGenerated(QString&)


Je ne sais pas ce que j'ai oublié pour que l'executable soit généré...

Merci de votre aide.
Reltak.

5 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Essai en supprimant préalablement tout les .o et les fichiers générés par QT (*_ui.h moc_*.cpp etc.).
Il y a un prog QT (uic moc ou un autre) qui doit s'occuper de ces signaux.
Je crois qu'il faut aussi mettre QOBJECT au début de la classe.
0
loupius
 
Je te signale que, dans la classe, la déclaration exacte est: signals:
Bonne continuation.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
bien vu ;-)
0
reltak Messages postés 261 Date d'inscription   Statut Membre Dernière intervention   41
 
oui tu as raison désolé c'est une faute de frappe dans le corps du message...
0
reltak Messages postés 261 Date d'inscription   Statut Membre Dernière intervention   41
 
Char Snipeur > j'ai supprimé les fichiers objet générés par Qt Creator, mais pas moyen de lancer, toujours la même erreur.
Où devrais-je mettre le QOBJECT exactement ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
class MACHIN
{
Q_OBJECT
double fin();
....
}
http://doc.trolltech.com/4.5/qobject.html#Q_OBJECT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
reltak Messages postés 261 Date d'inscription   Statut Membre Dernière intervention   41
 
bonjour,

désolé pour le délai de réponse...
Char Snipeur t'es le meilleur ça fonctionne merci beaucoup ;)

Reltak.
0