[QT]Problème avec signaux personnalisés

Résolu
reltak Messages postés 262 Statut Membre -  
reltak Messages postés 262 Statut Membre -
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.
Configuration: Windows XP
Chrome 3.0

5 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
  2. loupius
     
    Je te signale que, dans la classe, la déclaration exacte est: signals:
    Bonne continuation.
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      bien vu ;-)
      0
    2. reltak Messages postés 262 Statut Membre 41
       
      oui tu as raison désolé c'est une faute de frappe dans le corps du message...
      0
  3. reltak Messages postés 262 Statut Membre 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
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    class MACHIN
    {
    Q_OBJECT
    double fin();
    ....
    }
    http://doc.trolltech.com/4.5/qobject.html#Q_OBJECT
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. reltak Messages postés 262 Statut Membre 41
     
    bonjour,

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

    Reltak.
    0