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 :
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();
}
et bien ça s'affiche correctement....




Je suis preneur de tout conseil et explication ^^

Merci !