Bonjour,

Alors voilà mon problème, j'ai créer des menus avec une QMenu ainsi que des onglets avec QtabWidget et dans chaque onglet j'y est mis des widgets pour l'exemple.

Le problème c'est que je voudrais mettre une barre de défilement à la fenêtre lorsque la fenêtre est rétrécie par l'utilisateur.

j'ai donc essayer QScrollArea ms j'y arrive pas.

Voici mon code:

Le fichier main.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
#include <QApplication>
#include <QtGui>
#include "Exemple.h"
 
 
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Exemple fenetre;
    fenetre.show();
 
    return app.exec();
}

Le fichier Exemple.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "Exemple.h"
 
Exemple::Exemple()
{
 
 
    // Génération des widgets de la fenêtre principale
    creerActions();
    creerMenus();
 
 
 
 
    onglets = new QTabWidget;
    // 2 : Créer les pages, en utilisant un widget parent pour contenir chacune des pages
    QWidget *page1 = new QWidget;
    onglets->addTab(page1, "Fichier");
    QWidget *page2 = new QWidget;
    onglets->addTab(page2, "Edition");
    setCentralWidget(onglets);
 
 
        // 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);
 
}
 
void Exemple::creerActions()
{
    QA_actionQuitter = new QAction("&Quitter", this);//On crée d'abord une QAction, puis on l'ajoute au menu "Paramètres.
    QA_actionQuitter->setShortcut(QKeySequence(QKeySequence::Close));
    connect(QA_actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
}
 
void Exemple::creerMenus()
{
    QMenu *fichier = menuBar()->addMenu("&Fichier");
    fichier->addAction(QA_actionQuitter);
 
    QMenu *edition = menuBar()->addMenu("&Edition");
 
}

Le fichier Exemple.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
#ifndef EXEMPLE_H
#define EXEMPLE_H
#include <QtGui>
 
class Exemple : public QMainWindow
{
    Q_OBJECT
 
    public:
        Exemple();
 
    private:
 
        void creerActions();
        void creerMenus();
 
    private slots:
 
 
 
    private:
        QMenu *fichier;
        QMenu *edition;
        QAction *QA_actionQuitter;
        QTabWidget *onglets;
};
 
 
#endif // EXEMPLE_H

Merci pour l'aide.