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 :

Gestion des dispositions

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    PGD - GambServ
    Inscrit en
    Août 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : PGD - GambServ
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 1
    Par défaut Gestion des dispositions
    Bonsoir !


    Alors ca fait plusieurs heures que je cherche comment faire pour avoir ce que je veux. Je vous explique en image.



    Donc la c'est parfait. Maintenant je vais redimensionner la fenêtre vers le bas.



    Toujours aussi bien. Maintenant le problème, c'est la redimensionnement sur le coté. voici une image :



    C'est là qu'il y a le blanc, et je ne veux pas l'avoir, je voudrai un redimensionnement parfait.

    Voici mes layouts :





    Je vous remercie d'avance, car je cherche depuis pas mal de temps...

  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
    Je pense qu'il te manque un layout entre ta MainWindow et le centralWidget. (MainWindow sélectionné => disposer verticalement (ou horizontalement), de mémoire).

    Edit après gbdivers : Ah pardon, je n'utilise jamais QMainWindow

  3. #3
    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
    Un petit code simple de test :

    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
    // mainwindow.h
    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
     
    #include <QtGui>
     
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit MainWindow(QWidget *parent = 0) : QMainWindow(parent)
        {
            QSplitter * splitter = new QSplitter(Qt::Vertical);
     
            QHBoxLayout* l1 = new QHBoxLayout;
            QVBoxLayout* l2 = new QVBoxLayout;
            QHBoxLayout* l3 = new QHBoxLayout;
            l3->addWidget(new QPushButton("AAAA"));
            l3->addWidget(new QPushButton("BBBB"));
            l3->addWidget(new QPushButton("CCCC"));
     
            l2->addLayout(l3);
            l2->addWidget(new QTextEdit);
     
            l1->addLayout(l2);
            l1->addWidget(new QPushButton);
     
            QWidget* w = new QWidget;
            w->setLayout(l1);
     
            splitter->addWidget(w);
            splitter->addWidget(new QTableWidget);
     
            setCentralWidget(splitter);
        }
    };
     
    #endif // MAINWINDOW_H
     
    // main.cpp
    #include "mainwindow.h"
    #include <QApplication>
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
     
        return a.exec();
    }
    Pas de problème dans ce cas, les widgets prennent bien la largeur de la fenêtre lors d'un redimensionnement.

    Je pense qu'il te manque un layout entre ta MainWindow et le centralWidget.
    Non, utiliser setLayout sur une QMainWindow génère un warning "QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout". Il faut utiliser setCentralWidget
    Au pire, il pourrait ajouter un QWidget comme central widget, puis un layout dedans, puis mettre le splitter dans le layout, mais c'est un peu lourd (et inutile)

    @greeno55
    1. Comment tu mets un layout dans ton splitter ???
    2. le problème vient probablement des politiques de dimensionnement que tu as mis (sur le splitter, les boutons ou autre)

  4. #4
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut
    Ça marche mais ça divise la fenetre un deux à cause du QSlitter.
    Il n'y aurait pas un moyen de le remplacer ?

Discussions similaires

  1. gestion des groupes
    Par muaddib dans le forum QuickReport
    Réponses: 3
    Dernier message: 31/12/2002, 11h01
  2. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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