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 :

Redimensionnement automatique d'un QDialog selon son contenu

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 125
    Par défaut Redimensionnement automatique d'un QDialog selon son contenu
    Bonjour,

    Comme dans le titre, je souhaite que ma fenêtre s'adapte automatiquement selon son contenu.

    Fonctionnement :
    Dans la pièce jointe, la zone noire représente une vidéo chargée. Le tabwidget (zone onglets) est initialement masqué. La sélection / dé-sélection de la checkbox affiche / masque le tabwidget (grâce à des appels de show() et hide()).

    Le problème
    Lorsque l'onglet est affiché, la fenêtre s'agrandit (se réadapte) mais lorsque celui-ci est masqué, la fenêtre ne revient pas à sa taille initiale et c'est plutôt les objets centraux qui sont étirés.

    J'ai tenté de jouer sur le QSizePolicy de la QDialog en parcourant chacune des valeurs possibles mais sans effet ...

    Comment résoudre ce problème ?

    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Tu as essayé adjustSize() sur ta QDialog ?

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 125
    Par défaut
    Citation Envoyé par Troudhyl Voir le message
    Tu as essayé adjustSize() sur ta QDialog ?
    Pourrais-tu être plus précis ? Mais je pense pas qu'un adjustSize() me permettrait l'ajustement automatique dans la mesure où je fournirais moi même la taille !?

  4. #4
    Membre éprouvé
    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 : 39
    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
    Par défaut
    Avec adjustSize tu ne fournis pas la taille, c'est le widget qui se redimensionne au mieux possible automatiquement. Quand tu affiches ton tabwidget, il a besoin de s'agrandir pour pouvoir l'afficher, par contre quand tu le masques il n'a pas besoin de se rétrécir (à moins d'être poussé par d'autres widgets). Donc lui demander explicitement avec adjustSize fonctionnera peut être ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 125
    Par défaut
    L'appel à adjustSize n'a aucun effet ni sur le QDialog ni sur le tabWidget. Je précise que j'ai forcé tous les objets à un QSizePolicy (QSizePolicy::Expanding, QSizePolicy::Fixed)
    et le tabWidget à QSizePolicy (QSizePolicy::Expanding, QSizePolicy::MinimumExpanding).

  6. #6
    Membre éprouvé
    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 : 39
    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
    Par défaut
    En effet chez moi, adjustSize réduit la fenêtre à son minimum (juste ce qu'il faut pour contenir les widgets) la première fois et ensuite ne change plus rien. Même en fixant le reste des widgets elle ne revient pas à sa taille initiale, elle crée de l'espace vide dans le layout principal.

    Du coup je ne vois pas de solution automatique. Seulement de conserver la taille de la fenêtre avant de faire apparaitre le tabwidget et de la redimensionner ensuite à cette taille lorsqu'on le cache.

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

Discussions similaires

  1. Redimensionner un div selon son contenu
    Par Mr. NoReaction dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 09/10/2011, 11h07
  2. Réponses: 0
    Dernier message: 20/04/2009, 14h50
  3. Comment faire pour qu'une colonne s'agrandisse selon son contenu?
    Par loic20h28 dans le forum Windows Forms
    Réponses: 19
    Dernier message: 13/08/2008, 19h34
  4. [Problème]Bloc dont la hauteur évolue selon son contenu
    Par mickdu90 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 18/10/2007, 13h14
  5. Comment redimensionner un TEdit en fonction de son contenu ?
    Par Tempotpo dans le forum Composants VCL
    Réponses: 10
    Dernier message: 25/07/2005, 21h52

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