Bonjours à tous.
Voilà, j'ai un petit problème, je débute avec la librairie Qt en C++ et je voulais essayer de faire une petit programme dont l'interface est constituée de deux champs de textes (QLineEdit) et d'un bouton. Je veux copier le texte d'un des champs dans l'autre quand on appuie sur le bouton.
Voici la définition des prototypes de ma class fenêtre:
Le code de la fenêtre elle même:Code:#ifndef MAFENETRE_H #define MAFENETRE_H #include <QApplication> #include <QtGui> #include <QPushButton> class MaFenetre : public QWidget { Q_OBJECT public: MaFenetre(); public slots: void BoutonAction(); private: QPushButton *bouton; QLineEdit *Champ1, *Champ2; }; #endif // MAFENETRE_H
Et la création de l'objet dans le main:Code:#include "MaFenetre.h" MaFenetre::MaFenetre() { this->setGeometry(1080,100,160,235); QLineEdit *Champ1=new QLineEdit("Champ 1",this); Champ1->move(10,30); QLineEdit *Champ2=new QLineEdit("Champ 2",this); Champ2->move(10,60); QPushButton *bouton=new QPushButton("copie",this); bouton->move(40,90); QObject::connect(bouton, SIGNAL(clicked()), this, SLOT(BoutonAction())); }; void MaFenetre::BoutonAction(){ Champ2->setText(Champ1->text()); }
Le code se compile et le programme se lance, le problème c'est que quand j'appuie sur le bouton, le programme plante et se termine. La fonction BoutonAction() est bien exécutée quand on appuie sur le bouton (j'ai testé). Et apparemment je n'arrive pas accéder au contenu des champs de texte depuis la fonction (le slot) appeler par le bouton.Code:#include <QApplication> #include <QtGui> #include "MaFenetre.h" int main(int argc, char** argv) { QApplication app(argc, argv); MaFenetre fenetre; fenetre.show(); return app.exec(); }
Donc es-ce qu'il y a une manipulation particulière pour accéder aux variables contenues dans la class depuis une fonction slot appelée par un évènement??
Merci d'avance pour votre aide.
-----