IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Fenêtre avec une barre de défilement

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Par défaut 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 : 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.

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut
    Je ne vois aucune référence à QScrollArea dans ton code. Je me permet de te ramener à la documentation de Qt sur l'utilisation de QScrollArea :
    http://doc.qt.nokia.com/4.7-snapshot...a.html#details

    Pour résumer, il faut que tu "insères" entre le parent et le widget auquel tu souhaites apporter des scrollbars le QScrollArea.

    Exemple :
    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
     
    //! Constructor
    /*! 
    */
    // =============================================================================
    MainWindow::MainWindow
    (
        QWidget *parent
    ) : QMainWindow(parent)
    // =============================================================================
    {  	
        // MainWindow specification
        this->resize(400, 250); // Taille de la fenetre
     
        // Central widget - container
        QWidget* central_widget = new QWidget;
        central_widget->setLayout( new QVBoxLayout );
        this->setCentralWidget(central_widget);
     
        // Contenu
        QWidget* my_widget = new QWidget;
        my_widget->setStyleSheet( "background-color: red;"); // Uniquement pour mettre en évidence le QWidget contenu
        my_widget->setFixedSize( 200, 200 ); // Taille du contenu
     
        // Contenant
        QScrollArea* my_sarea = new QScrollArea( central_widget ); 
        my_sarea->setFixedSize( 100, 100 );
        my_sarea->setWidget( my_widget ); // Taille du contenant
     
        central_widget->layout()->addWidget( my_sarea );
    }

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Par défaut
    Merci j'ai réussi à l'insérer!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Modifier valeure textbox avec une barre de défilement
    Par Cefiroth dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/10/2011, 11h45
  2. figure avec une Barre de défilement
    Par Adem84 dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 20/02/2010, 10h57
  3. Table avec une barre de défilement vertical
    Par top_eagle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/10/2009, 13h36
  4. [MySQL] Limiter une liste avec une barre de défilement
    Par bullrot dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/10/2008, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo