Bonjour, je souhaiterais encore un peu d'aide.

J'ai deux fenêtres. J'arrive à envoyer des informations de la deuxième à la première, mais pas de la première à la deuxième.

De la deuxième à la première, je n'arrive qu'à envoyer des informations entre deux Lcd alors que je souhaiterais envoyer les informations d'un SpinBox à un Lcd.

Merci de votre aide

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "essaideuxfenetres.h"
#include "ui_essaideuxfenetres.h"
 
#include "deuxiemefenetres.h"
#include "ui_deuxiemefenetres.h"
 
#include <QSpinBox>
#include <QPushButton>
#include <QLCDNumber>
#include <QVBOxLayout>
 
essaiDeuxFenetres::essaiDeuxFenetres(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::essaiDeuxFenetres)
{
    ui->setupUi(this);
 
    QWidget *zoneCentrale = new QWidget;
 
    chiffre1 = new QSpinBox;
    bouton1 = new QPushButton("BOUTON1");
    resultat1 = new QLCDNumber;
    m_lcd = new QLCDNumber;
 
    QVBoxLayout *boxLayout = new QVBoxLayout;
    boxLayout->addWidget(chiffre1);
    boxLayout->addWidget(bouton1);
    boxLayout->addWidget(m_lcd);
    boxLayout->addWidget(resultat1);
 
    zoneCentrale->setLayout(boxLayout);
    setCentralWidget(zoneCentrale);
 
    QObject::connect(bouton1, SIGNAL(clicked()), this, SLOT(chiffre1Fenetre()));
 
    QObject::connect(bouton1, SIGNAL(clicked()), this, SLOT(ouvreDeuxFenetre()));
 
}
 
void essaiDeuxFenetres::chiffre1Fenetre()
{
    int somme = chiffre1->value();
    m_lcd->display(somme);
    emit envoyerChiffre1(somme);
}
 
void essaiDeuxFenetres::m_resultat1(int result)
{
    resultat1->display(QString::number(result));
}
 
 
void essaiDeuxFenetres::ouvreDeuxFenetre()
{
    deuxiemeFenetres *f = new deuxiemeFenetres();
    f->show();
 
    QObject::connect(f, SIGNAL(envoyerChiffre2(int)), this, SLOT(m_resultat1(int)));
}
 
essaiDeuxFenetres::~essaiDeuxFenetres()
{
    delete ui;
}
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "deuxiemefenetres.h"
#include "ui_deuxiemefenetres.h"
 
#include "essaideuxfenetres.h"
#include "ui_essaideuxfenetres.h"
 
#include <QSpinBox>
#include <QPushButton>
#include <QLCDNumber>
#include <QVBOxLayout>
 
deuxiemeFenetres::deuxiemeFenetres(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::deuxiemeFenetres)
{
    ui->setupUi(this);
 
    QWidget *zoneCentrale = new QWidget;
 
    chiffre2 = new QSpinBox;
    bouton2 = new QPushButton("BOUTON1");
    resultat2 = new QLCDNumber;
    lcd2 = new QLCDNumber;
 
    QVBoxLayout *boxLayout = new QVBoxLayout;
    boxLayout->addWidget(chiffre2);
    boxLayout->addWidget(bouton2);
    boxLayout->addWidget(lcd2);
    boxLayout->addWidget(resultat2);
 
    zoneCentrale->setLayout(boxLayout);
    setCentralWidget(zoneCentrale);
 
    QObject::connect(bouton2, SIGNAL(clicked()), this, SLOT(chiffre2Fenetre()));
 
    QObject::connect(bouton2, SIGNAL(clicked()), this, SLOT(ouvreUneFenetre()));
}
 
void deuxiemeFenetres::chiffre2Fenetre()
{
    int somme = chiffre2->value();
    lcd2->display(somme);
    emit envoyerChiffre2(somme);
}
 
void deuxiemeFenetres::m_resultat2(int result)
{
    resultat2->display(QString::number(result));
}
 
 
void deuxiemeFenetres::ouvreUneFenetre()
{
    essaiDeuxFenetres *f = new essaiDeuxFenetres();
 
 
    QObject::connect(f, SIGNAL(envoyerChiffre1(int)), this, SLOT(m_resultat2(int)));
}
 
 
deuxiemeFenetres::~deuxiemeFenetres()
{
    delete ui;
}
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
33
34
35
36
37
38
39
40
#ifndef ESSAIDEUXFENETRES_H
#define ESSAIDEUXFENETRES_H
 
#include <QMainWindow>
#include <QSpinBox>
#include <QPushButton>
#include <QLCDNumber>
#include <QVBOxLayout>
 
namespace Ui {
class essaiDeuxFenetres;
}
 
class essaiDeuxFenetres : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit essaiDeuxFenetres(QWidget *parent = 0);
    ~essaiDeuxFenetres();
 
public slots:
    void chiffre1Fenetre();
    void ouvreDeuxFenetre();
    void m_resultat1(int result);
 
signals:
    void envoyerChiffre2(int valueChanged);
    void envoyerChiffre1(int valueChanged);
 
private:
    Ui::essaiDeuxFenetres *ui;
 
    QSpinBox *chiffre1;
    QPushButton *bouton1;
    QLCDNumber *resultat1;
    QLCDNumber *m_lcd;
};
 
#endif // ESSAIDEUXFENETRES_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
33
34
35
36
37
38
39
40
#ifndef DEUXIEMEFENETRES_H
#define DEUXIEMEFENETRES_H
 
#include <QMainWindow>
#include <QSpinBox>
#include <QPushButton>
#include <QLCDNumber>
#include <QVBOxLayout>
 
namespace Ui {
class deuxiemeFenetres;
}
 
class deuxiemeFenetres : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit deuxiemeFenetres(QWidget *parent = 0);
    ~deuxiemeFenetres();
 
public slots:
    void chiffre2Fenetre();
    void m_resultat2(int result);
    void ouvreUneFenetre();
 
signals:
    void envoyerChiffre2(int valueChanged);
    void envoyerChiffre1(int valueChanged);
 
private:
    Ui::deuxiemeFenetres *ui;
 
    QSpinBox *chiffre2;
    QPushButton *bouton2;
    QLCDNumber *resultat2;
    QLCDNumber *lcd2;
};
 
#endif // DEUXIEMEFENETRES_H