Bonjour, je fais un petit programme mais je suis complétement bloqué parce que je n'arrive pas à envoyer le chiffre trouvé dans la deuxième à la première pour continuer le calcul. J'ai essayé de très nombreuses façon, mais il y a vraiment quelque chose que je ne comprend pas dans les signaux et slots. Merci de votre aide.
Voici le programme :
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 #ifndef DEUXTESTFENETRE4_H #define DEUXTESTFENETRE4_H #include <QtGui> #include <QMainWindow> #include <QObject> #include <QWidget> #include <QtWidgets> #include <QApplication> #include <QString> namespace Ui { class deuxTestFenetre4; } class deuxTestFenetre4 : public QWidget { Q_OBJECT public: explicit deuxTestFenetre4(QWidget *parent = 0); int somme; ~deuxTestFenetre4(); public slots: void boutonValider(); signals: void envoyerChiffre(int somme); private: Ui::deuxTestFenetre4 *ui; }; #endif // DEUXTESTFENETRE4_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
41 #include "deuxtestfenetre4.h" #include "ui_deuxtestfenetre4.h" #include "testfenetre4.h" #include "ui_testfenetre4.h" #include <QtGui> #include <QMainWindow> #include <QObject> #include <QWidget> #include <QtWidgets> #include <QApplication> #include <QString> deuxTestFenetre4::deuxTestFenetre4(QWidget *parent) : QWidget(parent), ui(new Ui::deuxTestFenetre4) { ui->setupUi(this); QObject::connect(ui->boutonQuitter2, SIGNAL(clicked()), this, SLOT(deleteLater())); QObject::connect(ui->boutonQuitter2, &QPushButton::pressed, [=](){ui->boutonQuitter2->setText("A BIENTOT");}); QObject::connect(ui->calcul, SIGNAL(clicked()), this, SLOT(boutonValider())); } void deuxTestFenetre4::boutonValider() { int somme = ui->compteur1->value() + ui->compteur2->value() + ui->compteur3->value(); ui->lcd2->display(somme); emit envoyerChiffre(somme); } deuxTestFenetre4::~deuxTestFenetre4() { 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 #ifndef TESTFENETRE4_H #define TESTFENETRE4_H #include <QtGui> #include <QMainWindow> #include <QObject> #include <QWidget> #include <QtWidgets> #include <QApplication> #include <QString> namespace Ui { class testFenetre4; } class testFenetre4 : public QMainWindow { Q_OBJECT public: explicit testFenetre4(QWidget *parent = 0); ~testFenetre4(); public slots: void ouvrirFormulaire(); void ecrire(int); signals: void envoyerChiffre(int); private: Ui::testFenetre4 *ui; }; #endif // TESTFENETRE4_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
41
42
43 #include "testfenetre4.h" #include "ui_testfenetre4.h" #include "deuxtestfenetre4.h" #include "ui_deuxtestfenetre4.h" #include <QMainWindow> #include <QObject> #include <QWidget> #include <QtWidgets> #include <QApplication> #include <QtGui> #include <QString> testFenetre4::testFenetre4(QWidget *parent) : QMainWindow(parent), ui(new Ui::testFenetre4) { ui->setupUi(this); QObject::connect(ui->m_boutonQuitter, &QPushButton::clicked, &QApplication::quit); QObject::connect(ui->m_boutonQuitter, &QPushButton::pressed, [=](){ui->m_boutonQuitter->setText("AU REVOIR");}); QObject::connect(ui->m_boutonFormulaire, SIGNAL(clicked()), this, SLOT(ouvrirFormulaire())); deuxTestFenetre4 *fen2 = new deuxTestFenetre4(); QObject::connect(fen2, SIGNAL(envoyerChiffre(int)), this, SLOT(ecrire(int))); } void testFenetre4::ecrire(int) { ui->m_lcd->intValue(); } void testFenetre4::ouvrirFormulaire() { deuxTestFenetre4 *f = new deuxTestFenetre4(); f->show(); }
Partager