salut a tous,
je débute avec QT et je voudrais envoyer une variable de type QString d'un Qwidget a un autre.
voici 1ere fenetre .h:
et 1ere fenetre .cpp
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
20
21
22
23
24
25
26
27
28
29
30
31
32 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <wii.h> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); public slots: void click(); signals: void envoyer(QString mot); public: Ui::MainWindow* ui; wii *l; }; #endif // MAINWINDOW_H
2eme fenetre .h
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
20
21
22
23
24
25
26
27 #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); connect(ui->ok,SIGNAL(clicked()),this,SLOT(click())); } MainWindow::~MainWindow() { delete ui; } void MainWindow:: click() { QString mot = ui->lineEdit->text(); emit envoyer(mot); l=new(wii); l->show(); this->close(); }
et 2eme fenetre.cpp
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
20
21
22
23
24
25
26 #ifndef WII_H #define WII_H #include <QWidget> namespace Ui { class wii; } class wii : public QWidget { Q_OBJECT public: explicit wii(QWidget *parent = 0); ~wii(); public slots: void afficher(QString mot); private: Ui::wii *ui; }; #endif // WII_H
je crois que tout est dans l'ordre . la compilation s'effectue sans erreurs mais rien ne s'affiche dans la 2eme fenetre.
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
20
21
22 #include "wii.h" #include "ui_wii.h" #include "mainwindow.h" wii::wii(QWidget *parent) : QWidget(parent), ui(new Ui::wii) { ui->setupUi(this); connect(this,SIGNAL(envoyer(QString)),this,SLOT(afficher(QString))); } wii::~wii() { delete ui; } void wii::afficher(QString mot) { ui->lineEdit->setText(mot); }
merci d'avance pour votre aide![]()
Partager