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 du contenu d'un QGridLayout

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut Redimensionnement du contenu d'un QGridLayout
    Bonjour,

    Voila, je débute toujours et si j'ai bien compris les principes de Qt, j'ai toutefois un souci que je tente de résoudre dans le calme et la sérénité

    J'ai une fenêtre contenant un centralWidget. Dans le centrailWidget, j'ai mis un gridLayout. Et j'avoue que ça me plait bien de mettre mes autres composant dans la gridLayout.

    Le souci est qu'en essayant le code, je me retrouve à pouvoir redimensionné ma fenêtre. Et je ne comprends pas pourquoi le gridLayout ne redimensionne pas son contenu.

    Mon problème se situe donc là.

    Je tiens à précisé que j'aime ben le designer, c'est avec lui que j'ai mis au point l'IHM.

    Merci pour vos indications.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    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 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Le gridLayout est bien défini comme centralWidget du QMainWindow ?
    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 éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut
    Alors non... En effet, le QLayout est dans le QMainWindow.

    Et la tu met le doigt à mon avis sur le bug.

    Pour te montrer, je vais te donner mon UI et surtout un screen de la chose tel que faite par défaut.

    Le code ui. que je trouve puissant quand on sait le manipuler
    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
    68
    69
    70
    71
     
    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>MainWindow</class>
     <widget class="QMainWindow" name="MainWindow">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>400</width>
        <height>300</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>MainWindow</string>
      </property>
      <widget class="QWidget" name="centralWidget">
       <widget class="QWidget" name="gridLayoutWidget">
        <property name="geometry">
         <rect>
          <x>40</x>
          <y>50</y>
          <width>281</width>
          <height>151</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="gridLayout">
         <item row="0" column="0">
          <widget class="QTextEdit" name="textEdit"/>
         </item>
         <item row="0" column="1">
          <widget class="QTabWidget" name="tabWidget">
           <widget class="QWidget" name="tab">
            <attribute name="title">
             <string>Tab 1</string>
            </attribute>
           </widget>
           <widget class="QWidget" name="tab_2">
            <attribute name="title">
             <string>Tab 2</string>
            </attribute>
           </widget>
          </widget>
         </item>
        </layout>
       </widget>
      </widget>
      <widget class="QMenuBar" name="menuBar">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>400</width>
         <height>21</height>
        </rect>
       </property>
      </widget>
      <widget class="QToolBar" name="mainToolBar">
       <attribute name="toolBarArea">
        <enum>TopToolBarArea</enum>
       </attribute>
       <attribute name="toolBarBreak">
        <bool>false</bool>
       </attribute>
      </widget>
      <widget class="QStatusBar" name="statusBar"/>
     </widget>
     <layoutdefault spacing="6" margin="11"/>
     <resources/>
     <connections/>
    </ui>
    Et voir les PJ pour l'image

    Pièce jointe 122918

    Donc, si je comprends bien, il faut donc que je trouve le miyen de mettre le grid comme mainWindow

    Merci beaucoup pour ton aide

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    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 129
    Billets dans le blog
    149
    Par défaut
    Dans le designer de QtCreator, il doit y avoir des options pour dire qu'un élément (ici le QGridLayout et son QWidget qui le contient) doit être étendu (toujours à la taille de la fenêtre). Mais je dois dire, j'utilise rarement le designer.
    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.

  5. #5
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut
    Oui et moi ça m'intéresse le desiner pas par flemme mais pour me concentrer un peu plus sur le code et non de l'interface. Ce que ne comprends pas toujours les pur et dur de Qt !

    Voila, je lance l'appel au cas ou. Si quelqu'un sait comment dire... enfin ce qu'à expliquer LittleWhite plus haut... Je suis preneur.

    Merci

  6. #6
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    En fait, un layout ne peut pas être centralWidget d'une QMainWindow, c'est pas un QWidget. Il faut le mettre dans un QWidget et mettre celui-ci dans le main window.
    Et pas d'inquiétude, le UI Designer le sait et ajoute automatiquement un QWidget "conteneur" quand on met un layout dans un main window

    Il y a en effet des paramètres "strech" dans le main window, le QWidget et le layout. Mais j'avais testé, même en les mettant à 1, ça ne corrige pas le problème. Tout les testes que j'avais fait n'ont pas aboutis

    Avec un code C++ classique, aucun problème de dimenssionnement. C'est un peu dommage que le UI Designer ne reprenne pas les paramètres par défaut que l'on a en C++. D'autant plus qu'avec un .ui, difficile de retrouver les paramètres réels utilisés dans les objets créés.

    Et la création d'un UI, c'est surtout comprendre comment on hiérarchise ses objets. Si on sait le faire avec designer, c'est pas plus compliqué de la faire en C++. Perso, je trouve que passer par le Designer ne permet pas de se concentrer plus sur le code
    Enfin, bref, pas de solution de mon côté, désolé

  7. #7
    Rédacteur/Modérateur
    Avatar de arnolddumas
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Autriche

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 978
    Par défaut
    En fait, tu n'as même pas besoin de Layout, la QMainWindow se chargera du positionnement des composants elle-même. Donc tu as ta QMainWindow, positionne dedans un QTabWidget. Ensuite tu clique dans la QMainWindow puis clic-droit sur Mettre en page > Mettre en page dans une grille. Bon j'espère que j'ai été clair.

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

Discussions similaires

  1. Redimensionner le contenu de la page
    Par David55 dans le forum BIRT
    Réponses: 0
    Dernier message: 27/09/2010, 14h37
  2. Redimensionner le contenu de ma page web
    Par dumser1 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/05/2009, 15h23
  3. redimensionnement conteneur / contenu
    Par arnlig3550 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 02/02/2009, 14h34
  4. Réponses: 8
    Dernier message: 16/08/2008, 21h38
  5. VBA Excel - redimensionner le contenu
    Par max0042 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/02/2007, 13h23

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