Bonjour à tous,
J'essaye d'apprendre à programmer un peu par ci par là et je rencontre un problème de taille pour moi ! Je n'arrive pas à relier mon interface graphique à mon code en quelque sorte. J'ai pour petit de départ de coder une petite calculatrice. Pour l'instant, seuls les chiffres sont présents, mais je n'arrive pas à modifier le QLabel sensé m'afficher ce que je tape. Je vous mets le .h et le .cpp ainsi que la sortie de l'application.

J'espère que vous trouverez le temps de m'aider,
Je vous remerci d'avance,
Bawaa

Le MaFenetre.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
#ifndef MAFENETRE_H
#define MAFENETRE_H
 
#include <QtGui>
#include <QtWidgets>
#include <QGridLayout>
#include <QString>
#include <QLabel>
 
class MaFenetre : public QWidget
{
    Q_OBJECT
 
    public:
        MaFenetre();
 
    private:
        QPushButton *m_bouton;
        QPushButton *bouton1;
        QPushButton *bouton2;
        QPushButton *bouton3;
        QPushButton *bouton4;
        QPushButton *bouton5;
        QPushButton *bouton6;
        QPushButton *bouton7;
        QPushButton *bouton8;
        QPushButton *bouton9;
        QPushButton *bouton0;
        QGridLayout *layout;
        QLabel *afficha;
    public slots:
        void changerText(QLabel *lbl);
 
};
#endif // MAFENETRE_H
Le MaFenetre.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "MaFenetre.h"
#include <QPushButton>
#include <QFont>
#include <QObject>
#include <QLabel>
 
 
void MaFenetre::changerText(QLabel *lbl) {
 
    lbl->setText("Salut");
}
 
 
MaFenetre::MaFenetre() : QWidget()
{
    setFixedSize(300, 170);
 
    m_bouton = new QPushButton("Quitter");
    bouton1 = new QPushButton("1");
    bouton2 = new QPushButton("2");
    bouton3 = new QPushButton("3");
    bouton4 = new QPushButton("4");
    bouton5 = new QPushButton("5");
    bouton6 = new QPushButton("6");
    bouton7 = new QPushButton("7");
    bouton8 = new QPushButton("8");
    bouton9 = new QPushButton("9");
    bouton0 = new QPushButton("0");
    afficha = new QLabel();
 
    afficha->setText("0");
 
    layout = new QGridLayout;
 
    layout->addWidget(afficha, 0, 0, 1, 3);
    layout->addWidget(bouton1, 1, 0);
    layout->addWidget(bouton2, 1, 1);
    layout->addWidget(bouton3, 1, 2);
    layout->addWidget(bouton4, 2, 0);
    layout->addWidget(bouton5, 2, 1);
    layout->addWidget(bouton6, 2, 2);
    layout->addWidget(bouton7, 3, 0);
    layout->addWidget(bouton8, 3, 1);
    layout->addWidget(bouton9, 3, 2);
    layout->addWidget(bouton0, 4, 1);
    layout->addWidget(m_bouton, 5, 0, 1, 3);
 
    setLayout(layout);
 
    QObject::connect(m_bouton, SIGNAL(clicked()), qApp, SLOT(quit()));
    QObject::connect(bouton1, SIGNAL(pressed()), afficha ,  SLOT(changerText(afficha)));
 
}
Et enfin la Sortie de l'application :

Démarrage de /Users/Theophile/Projet Qt/build-Calculatrice-Desktop_Qt_5_1_1_clang_64bit-Debug/Calculatrice.app/Contents/MacOS/Calculatrice...QObject::connect: No such slot QLabel::changerText(afficha) in /Users/Theophile/Projet Qt/Calculatrice/MaFenetre.cpp:52