Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Problème de signaux / slots avec paramètres

Le slot n'est pas appellé lors du emit !

Anonyme
    15 mars 2008 à 23:18:53

    Bonsoir,

    Mon code C++ a un problème, j'ai créé un signal et un slot perso.

    Voici mon slot "afficherRecep"

    1. void MaFenetre::afficherRecep(QString text)
    2. {
    3.         QMessageBox::critical(NULL, "Client traitement", text); // Ceci est un test, la MessageBox ne s'affiche jamais, preuve que le slot n'est pas appellé.
    4.         _reception->setText(_reception->toPlainText() + text);
    5. }


    Le signal provient d'une socket qui est un attribut de MaFenetre (MaFenetre._socket) et est définie ainsi :

    1. signals:
    2.         void reception(QString);


    Déclaré donc dans la classe Socket.

    J'établis la connexion dans le constructeur de MaFenetre :

    1. QObject::connect(_socket, SIGNAL(reception(QString)), this, SLOT(afficherRecep(QString)));


    Et j'émets le signal dans Socket::lecture() via :

    1. void Socket::lecture()
    2. {
    3.         QString ligne;
    4.         while(_socket.canReadLine())
    5.         {
    6.                 ligne = _socket.readLine();
    7.                 QMessageBox::information(NULL, "Reception client", ligne); // Ceci est un test, il prouve bien que les données sont bien reçues
    8.                 emit reception(ligne);
    9.         }
    10. }


    Cependant rien ne se passe, le slot n'est pas appellé :colere2: .

    Que faire SVP ?

    Merci d'avance :)
    ++
    • Partager sur Facebook
    • Partager sur Twitter
      15 mars 2008 à 23:40:24

      je vais commencer par le plus simple ;) est-ce que tu as déclaré ton slot comme-ceci? :

      1. public slots :
      2.         void afficherRecep(QString);


      sinon, uh.. essais de recompiler à partir de zéro, c-a-d en effacant les fichiers créé par la compilation et en ré-executant les commandes habituel. :euh:
      • Partager sur Facebook
      • Partager sur Twitter
      Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
      Anonyme
        16 mars 2008 à 1:12:02

        J'ai bien déclaré mon slot comme ça o_O .

        Je viens de tout recompiler de zéro, mais ça ne fonctionne toujours pas :( .

        Merci quand même...
        • Partager sur Facebook
        • Partager sur Twitter
          16 mars 2008 à 15:20:14

          active la console pour voir s'il n'y a pas un "connect error" ou quelquechose comme ça.
          • Partager sur Facebook
          • Partager sur Twitter

          [Qt] Problème de signaux / slots avec paramètres

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown