Salut j'essaie de faire une interface graphique en Qt et j'ai un probleme. VOila mon code
Main.cpp
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 #include <QApplication> #include "MaFenetre.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MaFenetre fenetre; fenetre.show(); return app.exec(); }
MaFentre.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 #include "MaFenetre.h" #include "Layout00.h" MaFenetre::MaFenetre() : QWidget() { Layout00 layout00; // le layout principal en grille 2x2 layoutPrincipal = new QGridLayout; layoutPrincipal->addLayout(layout00, 0 , 0); setLayout(layoutPrincipal); }
Layout00.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 #ifndef DEF_MAFENETRE #define DEF_MAFENETRE #include <QApplication> #include <QWidget> #include <QGridLayout> class MaFenetre : public QWidget { public: MaFenetre(); private: QGridLayout *layoutPrincipal; }; #endif
Layout00.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 #include "Layout00.h" Layout00::Layout00() : QGridLayout() { layout00 = new QGridLayout; // les 4 boutons bouton1 = new QPushButton("Bouton1"); bouton2 = new QPushButton("Bouton2"); bouton3 = new QPushButton("Bouton3"); bouton4 = new QPushButton("Bouton4"); layout00->addWidget(bouton1, 0, 0); layout00->addWidget(bouton1, 0, 1); layout00->addWidget(bouton1, 1, 0); layout00->addWidget(bouton1, 1, 1); //setLayout(layout00); }
Mon erreur à la compilation est:
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 #ifndef DEF_LAYOUT00 #define DEF_LAYOUT00 #include <QApplication> #include <QGridLayout> #include <QPushButton> class Layout00 : public QGridLayout { public: Layout00(); private: QPushButton *bouton1; QPushButton *bouton2; QPushButton *bouton3; QPushButton *bouton4; QGridLayout *layout00; };
Merci de trouver le ou les erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ~/workspace >qmake -project ~/workspace >qmake ~/workspace >make g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o MaFenetre.o MaFenetre.cpp ^[[A^[[AMaFenetre.cpp: In constructor MaFenetre::MaFenetre(): MaFenetre.cpp:10: erreur: no matching function for call to QGridLayout::addLayout(Layout00&, int, int) /usr/include/qt4/QtGui/qgridlayout.h:115: note: candidats sont: void QGridLayout::addLayout(QLayout*, int, int, Qt::Alignment) /usr/include/qt4/QtGui/qgridlayout.h:116: note: void QGridLayout::addLayout(QLayout*, int, int, int, int, Qt::Alignment) make: *** [MaFenetre.o] Erreur 1
Partager