Bonjour
Je débute sous Qt et j'ai un problème récurrent : mon code compile sans soucis, je lance le programme sauf que ma fenêtre n'apparait pas. Pourtant, mon gestionnaire des tâches n'indique bien que le programme est lancé. J'en conclue que quelque chose se passe mal à l'exécution. Seulement, je n'ai aucune idée de savoir quoi, et c'est toujours du bidouillage pour faire en
sorte que la fenêtre s'affiche.
Pour l'occasion, j'ai un problème avec un QTabWidget. J'ai une classe MyMainWindow, avec son fichier Cpp et son en-tête Hpp, et un fichier main ou j'appelle la classe. Les codes :
Code MyMainWindow.hpp : 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 #ifndef MY_MAIN_WINDOW_H #define MY_MAIN_WINDOW_H #include <QApplication> #include <QTabWidget> #include <QWidget> class MyMainWindow : public QWidget { public: // constructeur par defaut MyMainWindow(); private: // tableau d'onglets QTabWidget *ongletsPrincipaux; }; #endif
Code MyMainWindow.cpp : 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 "myMainWindow.hpp" MyMainWindow::MyMainWindow() : QWidget() { // Parametrage de la fenetre setFixedSize(230, 230); this->setWindowTitle("DiskDB : ma collection de disques !"); // Creation du ableau d'onglets ongletsPrincipaux = new QTabWidget(this); ongletsPrincipaux->setGeometry(10,10,100,100); QWidget *onglet1 = new QWidget; ongletsPrincipaux->addTab(onglet1, "Accueil"); QWidget *onglet2 = new QWidget; ongletsPrincipaux->addTab(onglet2, "Ajouter"); QWidget *onglet3 = new QWidget; ongletsPrincipaux->addTab(onglet3, "Rechercher"); }//MyMainWindow()
Code main.hpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <QApplication> #include "myMainWindow.hpp" int main(int argc, char *argv[]) { QApplication app(argc, argv); MyMainWindow fenetrePrincipale; fenetrePrincipale.show(); return app.exec(); }
Ca compile bien, ça se lance, mais rien de s'affiche....
En revanche, si je crée mon tableau d'anglais directement dans le main, comme ceci :
et bien ça s'affiche correctement....
Code qui marche : 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 #include <QApplication> #include "myMainWindow.hpp" int main(int argc, char *argv[]) { QApplication app(argc, argv); QTabWidget *ongletsPrincipaux; ongletsPrincipaux = new QTabWidget; ongletsPrincipaux->setGeometry(10,10,100,100); QWidget *onglet1 = new QWidget; ongletsPrincipaux->addTab(onglet1, "Accueil"); QWidget *onglet2 = new QWidget; ongletsPrincipaux->addTab(onglet2, "Ajouter"); QWidget *onglet3 = new QWidget; ongletsPrincipaux->addTab(onglet3, "Rechercher"); ongletsPrincipaux->show(); return app.exec(); }
Je suis preneur de tout conseil et explication ^^
Merci !![]()
Partager