IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

connect Signal et slot perso


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut connect Signal et slot perso
    Salut,

    j'étudie QT depuis peu, à partir de la doc et ses exemples.
    ce que je voudrais faire ici c'est:

    ->deux lineEdit.
    ->un bouton qui, lorsqu'il est cliqué, apel un fonction qui connecte le signal textChanged(QString) du premier lineEdit au slot setText(QString) du deuxième.
    pour pouvoir connecter le bouton à cette fonction, elle est déclarée comme un public slots

    j'ai donc la class suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class MyWidget : public QWidget
    {
       public:
          MyWidget(QWidget *parent=0);
       public slots:
          void connecter_lineEdit();
       private:
         QPushButton *bouton;
         QLineEdit *texte_entree;
         QLineEdit *texte_sortie;
    };
    et l'implémentation des méthodes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
    {
        bouton = new QPushButton(tr("connect"));
        texte_entree = new QLineEdit;
        texte_sortie = new QLineEdit;
     
        connect(bouton,SIGNAL(clicked()),this,SLOT(connecter_lineEdit()));
     
        QVBoxLayout *layout= new QVBoxLayout;
          layout->addWidget(texte_entree);
          layout->addWidget(texte_sortie);
          layout->addWidget(bouton);
        setLayout(layout);
    }
     
    void MyWidget::connecter_lineEdit()
    {
       connect(texte_entree,SIGNAL(textChanged(QString)),texte_sortie,SLOT(setText(QString)));  
    }
    Mais dans le constructeur, le connect() qui devrait connecter le signal clicked() du bouton au slots connecter_lineEdit() semble ne pas agir.

    qu'est-ce que j'ai loupé?

    merçi de vos réponses

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Et il est où le Q_OBJECT ?

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut
    ok c'est cette ligne que j'avais loupé:
    Note the Q_OBJECT. This macro must be included in all classes that contain signals and/or slots.
    j'ai maintenan un autre problème: ([Linker error] undefined reference to `vtable for HttpWindow' ) mais il y a déja des topic dessus, je vais voir ça.

    merçi!

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Il te manque le moc du fichier.

Discussions similaires

  1. connect(), signal et slot
    Par Go'Gaule dans le forum Débuter
    Réponses: 3
    Dernier message: 27/05/2011, 08h26
  2. [Qt4-Win] Connect (SIGNAL/SLOT)
    Par mikemarti dans le forum Débuter
    Réponses: 5
    Dernier message: 20/06/2008, 02h05
  3. Problème de connect (signal/slots)
    Par Alain Defrance dans le forum Qt
    Réponses: 5
    Dernier message: 20/03/2008, 21h58
  4. QObject::connect: No such slot
    Par guepe dans le forum Qt
    Réponses: 2
    Dernier message: 22/12/2005, 10h24
  5. Qt::connect: no such slot ...
    Par fdrouhin dans le forum Qt
    Réponses: 8
    Dernier message: 02/12/2004, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo