Bonjour,

J'essaie de placer des boutons (ou autres objets) dans un QScrollArea beaucoup plus grand que ma fenêtre.
Mais j'aimerai aussi les réorganiser proprement avec un QVBoxLayout à l'intérieur du scrollArea.

Mon code ne fonctionne pas. Pourriez-vous y jeter un coup d'oeil svp ?

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
#include "mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setFixedSize(1000,800);
    m_mainWidget = new QWidget(this);   // création du widget principal invisible supportant tous les autres éléments graphiques
    m_hLayout = new QHBoxLayout(this);  // Création d'un horizontal layout
 
 
    scrollArea = new QScrollArea(this); //scrollArea->setFixedSize(900,790);    // Création d'un ScrollArea
    scrollArea->setBackgroundRole(QPalette::LinkVisited);                       //
    scrollBar = new QScrollBar(this); scrollBar->setRange(1,2000);              // et d'une ScrollBar
 
 
    m_mainWidget->setLayout(m_hLayout); // le mainWidget sera d'abord organisé en colonnes (2 colonnes en fait... voir les 2 lignes suivantes)
    m_hLayout->addWidget(scrollArea);   // On place le ScrollArea dans la 1e cellule (colonne du horizontal layout)
    m_hLayout->addWidget(scrollBar);    // On place une ScrollBar dans la 2e cellule (colonne du horizontal layout)
 
 
 
    //m_vLayout = new QVBoxLayout(this);  // le scroll area contiendra un vertical layout
    //scrollArea->setLayout(m_vLayout);
 
 
 
    for (int i=0; i<365; i++) {
        QPushButton* btn = new QPushButton ("Sans nom",  scrollArea);
        list_btn.append(btn);
        list_btn[i]->setText(QString("bouton %1").arg(i));
        //m_vLayout->addWidget(btn);
        btn->move(10, 60*i);
    }
 
    setCentralWidget(m_mainWidget);
}
 
MainWindow::~MainWindow()
{
 
}