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:
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
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
 
#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();
}
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
 
#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
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
 
#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);
}
je crois que tout est dans l'ordre . la compilation s'effectue sans erreurs mais rien ne s'affiche dans la 2eme fenetre.
merci d'avance pour votre aide