Partage
  • Partager sur Facebook
  • Partager sur Twitter

CONNECTION SIGNAL-SLOT

connecter un signal à un slot avec une signature différente

    23 mars 2019 à 16:37:15

    Bonjour Openclassroom , j'essaie en ce moment de faire l'exercice sur la creation d'un editeur de texte, proposé par Mateo21 dans son cours mais je me heurte à une difficulté: connecter un signal à un slot ayant une signature différente avec QT

    //SIGNAL
    QAction::triggered(bool checked==false)
    
    //SLOT
    
    void fenetre_principale::nouvellePage(QTabWidget *onglet)
    {
        QTextEdit *feuille=new QTextEdit;
    
        onglet->addTab(feuille,"blank");
    
    
        this->setCentralWidget(onglet);
    }

    j'aimerais trouver un moyen de connecter ce signal à mon slot , si quelqu'un a une idée merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2019 à 21:44:55

      D'après https://doc.qt.io/qt-5/signalsandslots.html

      The signals and slots mechanism is type safe: The signature of a signal must match the signature of the receiving slot. (In fact a slot may have a shorter signature than the signal it receives because it can ignore extra arguments.)

      La solution ? Tu peux avoir un SLOT intermédiaire qui va t'appeller la fonction que tu souhaites

      connect(action,&QAction::triggered, foo,[=](){ /* ton code */; foo->nouvellePage(onglet);});
      • Partager sur Facebook
      • Partager sur Twitter
        24 mars 2019 à 9:04:16

        Merci, AmarOK1412, je fonces essayer ca .
        • Partager sur Facebook
        • Partager sur Twitter

        CONNECTION SIGNAL-SLOT

        × 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