Fenêtre avec une barre de défilement
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:
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:
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:
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.