Bonjour à tous,
je ne parviens pas à créer la fenêtre suivante:
Quand on redimensionne la fenêtre je voudrais que le widget blanc se redimensionne aussi et que les boutons à gauche ne bouge pas de place.
Voici comment j'ai procédés:
- J'ai un QVBoxLayout qui contient un QSpacerItem et un QHBoxLayout
- Le spacer permet de laisser la place pour la bannière en haut de la fenêtre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 m_layoutV = new QVBoxLayout(); m_layoutV->setAlignment(Qt::AlignTop); m_layoutV->setSpacing(0); m_layoutV->setMargin(0); m_layoutV->addItem(m_spacer); m_layoutV->addLayout(m_LayoutH);
- Dans le QHBoxLayout (m_LayoutH) j'ai un QVBoxLayout et mon widget blanc.
- Le QVBoxLayout (m_layoutV2) contient les boutons.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 m_LayoutH = new QHBoxLayout(); m_LayoutH->setAlignment(Qt::AlignLeft); m_LayoutH->setMargin(0); m_LayoutH->setSpacing(0); m_LayoutH->addLayout(m_layoutV2); m_LayoutH->addWidget(m_window);
- Pour finir je définit mon widget central:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 m_layoutV2 = new QVBoxLayout(); m_layoutV2->setAlignment(Qt::AlignLeft | Qt::AlignTop); m_layoutV2->addWidget(m_buttonCleaner); m_layoutV2->addWidget(m_buttonRegistry);
- La bannière se redimensionne comme suite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 m_centralWidget = new QWidget(); m_centralWidget->setLayout(m_layoutV); this->setCentralWidget(m_centralWidget);
Maintenant, comment je peux garder mes boutons (m_layoutV2) en haut à gauche et mon widget blanc se redimensionne en fonction de la fenêtre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void MainWindow::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); m_banner->resize(width(), 57); m_banner->setScaledContents(true); }
Le redimensionnement de la fenêtre devrais donner cela:
Merci par avance,
Bonne journée.
Partager