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

Qt Discussion :

Empêcher le redimensionnement automatique d'un layout


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Furr
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Par défaut Empêcher le redimensionnement automatique d'un layout
    Bonjour à vous !

    J'aimerais résoudre un petit souci, qui me donne des affichages assez gênant. Dans la fenêtre principale de mon application, j'assigne un widget, composé d'un QGridLayout.
    Ce QGridLayout possède deux lignes, la première composée de 3 colonnes, la deuxième de deux colonnes.
    Le problème est qu'un des objets (QLabel) de mon gridLayout se redimensionne automatiquement s'il n'a pas la place pour afficher le libellé, ce qui fait que mon layout bouge en permanence....
    Je voudrais pouvoir bloquer ce phénomène, quitte à avoir mon label coupé

    Un bout de code pour illustrer :

    Code C++ : 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
      QWidget* layoutWidget = new QWidget(ui.statusBar);
      QGridLayout* statusBarLayout = new QGridLayout(this);
      infoLabel1 = new QLabel(this);
      statusBarLayout->addWidget(infoLabel1, 0, 0);
      infoLabel2 = new QLabel(this);
      statusBarLayout->addWidget(infoLabel2, 0, 1);
      infoLabel3= new QLabel(this);
      statusBarLayout->addWidget(infoLabel3, 0, 2, 1, 2); // C'est ce label qui me pose problème
      progressBarPub = new QProgressBar(this);
      progressBarPub->setMaximumHeight(progressBarPub->height() / 2);
      progressBarPub->setTextVisible(false);
      progressBarPub->setStyle(new QPlastiqueStyle);
      statusBarLayout->addWidget(progressBarPub, 1, 0, 1, 2);
      infoLabel4 = new QLabel(this);
      statusBarLayout->addWidget(infoLabel4, 1, 2);
      statusBarLayout->setSpacing(0);
      layoutWidget->setLayout(statusBarLayout);
      layoutWidget->setContentsMargins(6, 0, 6, 0);
      ui.statusBar->insertPermanentWidget(0, layoutWidget, 1);

    Merci d'avance pour votre aide !

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Et avec ceci -> http://qt.developpez.com/doc/latest/...onstraint-prop en mettant une contraint de taille fixe ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé Avatar de Furr
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Par défaut
    Salut, merci de ta réponse

    J'avais déjà essayé les SizeConstraint, mais sans succès J'ai essayé en imposant une FixedSize à mon Layout, mais ça n'a pas l'air d'agir sur le contenu, et même en essayant de donner une taille fixe aux composants internes au layout

    j'avoue être bien perdu sur ce coup...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ...Le qlabel hérite de la class qwidget ,par l'intermédiaire du qframe,
    donc ,tu peux directement utiliser le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void QWidget::setFixedSize(int w, int H )
    , pour fixer la taille de ton objet (déclaré en qlabel) .

    Voici quelques lien utilisable :

    http://qt.developpez.com/doc/4.6/qlabel/
    http://qt.developpez.com/doc/4.6/qframe/
    http://qt.developpez.com/doc/4.6/qwidget/


    http://qt.developpez.com/doc/4.6/qwidget/#setFixedSize

  5. #5
    Membre confirmé Avatar de Furr
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Par défaut
    Merci beaucoup

    Me suis arrêté à la méthode setFixedSize du QLayout, avec la constante SetFixedSize, qui du coup ne s'applique pas aux composants...
    Avec ça ça fonctionne

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

Discussions similaires

  1. Empêcher redimensionnement automatique JTextArea
    Par Titelouve dans le forum Composants
    Réponses: 6
    Dernier message: 29/09/2010, 20h03
  2. redimensionnement automatique excel
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/04/2006, 16h35
  3. Redimensionnement automatique textarea
    Par nico-pyright(c) dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/04/2005, 11h48
  4. [C#] [WinForms] Redimensionnement automatique d'une ListView
    Par Phenomenium dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/02/2005, 11h43
  5. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32

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