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 :

Dimensionner les onglets d'un QTabWidget à la taille de la fenetre

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    etu
    Inscrit en
    Mars 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etu

    Informations forums :
    Inscription : Mars 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Dimensionner les onglets d'un QTabWidget à la taille de la fenetre
    Bonjour !

    Je travaille en ce moment avec les librairies Qt et essaye de me familiariser avec. J'ai essayé les QTabWidget mais je rencontre un problème.
    Voici le code de mon constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        QLabel *l1          = new QLabel("label1");
        QLabel *l2          = new QLabel("label2");
        QPushButton *b1     = new QPushButton("bouton1");
        QPushButton *b2     = new QPushButton("bouton2");
        QGridLayout *grille = new QGridLayout();
        grille             -> addWidget(l1,0,0);
        grille             -> addWidget(b1,1,0);
        grille             -> addWidget(l2,2,0);
        grille             -> addWidget(b2,3,0);
     
        this              -> setLayout(grille);
        this              -> resize(400,400);
    Cette interface graphique tres basique s'adapte toute seul à la taille de ma fenetre.
    Mais, en l'inserant dans un onglet d'un QTabWidget, elle se redimensionne à une certaine taille et est figée meme si j'agrandis la fenetre.

    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
        QLabel *l1          = new QLabel("label1");
        QLabel *l2          = new QLabel("label2");
        QPushButton *b1     = new QPushButton("bouton1");
        QPushButton *b2     = new QPushButton("bouton2");
        QGridLayout *grille = new QGridLayout();
        grille             -> addWidget(l1,0,0);
        grille             -> addWidget(b1,1,0);
        grille             -> addWidget(l2,2,0);
        grille             -> addWidget(b2,3,0);
     
        QWidget *ongletUn   = new QWidget();
        ongletUn           -> setLayout(grille);
        tab                 = new QTabWidget(this);
        tab                -> addTab(ongletUn,"onglet1");
        this               -> resize(400,400);

    Auriez vous une solution pour que l'onglet prenne la taille de la fenetre ? Je vous remercie !

  2. #2
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    De manière général un widget doit être placé dans un layout pour s'agrandir (ou se rétrécir), ici c'est bien ce qui est fait pour le widget qui est mis dans l'onglet mais le QTabWidget lui même n'est pas dans un layout, il faudrait plutôt faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //tab = new QTabWidget(this); // Avant, tab est directement enfant de this, mais pas placé dans un layout
    tab = new QTabWidget;
    QVBoxLayout* layout = new QVBoxLayout; // Ou en C++11 : auto layout = new QVBoxLayout;
    layout->addWidget(tab);
    this->setLayout(layout);

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/10/2011, 12h57
  2. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 09h50
  3. ECLIPSE RCP : Régler une taille minimum pour les onglets
    Par JM12345 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 07/08/2009, 11h13
  4. Les onglets dans Visual Basic
    Par kilhom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/10/2005, 20h33
  5. Cacher les onglets d'un TPageControl
    Par Patrick Seuret dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/10/2005, 17h05

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