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:
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 class MyWidget : public QWidget { public: MyWidget(QWidget *parent=0); public slots: void connecter_lineEdit(); private: QPushButton *bouton; QLineEdit *texte_entree; QLineEdit *texte_sortie; };
Mais dans le constructeur, le connect() qui devrait connecter le signal clicked() du bouton au slots connecter_lineEdit() semble ne pas agir.
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))); }
qu'est-ce que j'ai loupé?
merçi de vos réponses
Partager