Étudiant un cours sur le C++ et Qt, je me suis penché sur les conteneurs avec dans l'exemple l'apparition de la bibliothèque QtGui.

Je cherche et m’aperçois que toutes les classes héritent de QtGui. Pourtant à la compilation problème avec QWidget, QTabWidget, .....

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
54
55
56
#include <QApplication>
#include <QtGui>
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget fenetre;
 
    // 1 : Créer le QTabWidget
    QTabWidget *onglets = new QTabWidget(&fenetre);
    onglets->setGeometry(30, 20, 240, 160);
 
    // 2 : Créer les pages, en utilisant un widget parent pour contenir chacune des pages
    QWidget *page1 = new QWidget;
    QWidget *page2 = new QWidget;
    QLabel *page3 = new QLabel; // Comme un QLabel est aussi un QWidget (il en hérite), on peut aussi s'en servir de page
 
    // 3 : Créer le contenu des pages de widgets
 
        // Page 1
 
        QLineEdit *lineEdit = new QLineEdit("Entrez votre nom");
        QPushButton *bouton1 = new QPushButton("Cliquez ici");
        QPushButton *bouton2 = new QPushButton("Ou là…");
        QVBoxLayout *vbox1 = new QVBoxLayout;
        vbox1->addWidget(lineEdit);
        vbox1->addWidget(bouton1);
        vbox1->addWidget(bouton2);
        page1->setLayout(vbox1);
 
        // Page 2
 
        QProgressBar *progress = new QProgressBar;
        progress->setValue(50);
        QSlider *slider = new QSlider(Qt::Horizontal);
        QPushButton *bouton3 = new QPushButton("Valider");
        QVBoxLayout *vbox2 = new QVBoxLayout;
        vbox2->addWidget(progress);
        vbox2->addWidget(slider);
        vbox2->addWidget(bouton3);
        page2->setLayout(vbox2);
 
        // Page 3 (je ne vais afficher qu'une image ici, pas besoin de layout)
 
        page3->setPixmap(QPixmap("icone.png"));
        page3->setAlignment(Qt::AlignCenter);
 
        // 4 : ajouter les onglets au QTabWidget, en indiquant la page qu'ils contiennent
 
        onglets->addTab(page1, "Coordonnées");
        onglets->addTab(page2, "Progression");
        onglets->addTab(page3, "Image");
 
    fenetre.show();
    return app.exec();
}