Envoi d'informations à sens unique
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:
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:
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:
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:
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 |