Placer un layout dans un scrollArea
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:
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()
{
} |