PDA

View Full Version : why scrollbar doesn't display in QscrollArea



myhot21
22nd July 2009, 17:24
i add Multiple QListwidget to QscrollArea,but the scrollbar doesn't display in QscrollArea, why?



#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
rightLayout = new QVBoxLayout;
QWidget *widget = new QWidget;
widget->setLayout(rightLayout);
widget->setMinimumHeight(100);
widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);

QScrollArea *scroll = new QScrollArea;
scroll->setWidget(widget);
scroll->setWidgetResizable(true);
splitter = new QSplitter;
QPushButton *button = new QPushButton;
button->setText("Add Widget");
button->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
splitter->addWidget(button);

splitter->addWidget(scroll);

QObject::connect(button, SIGNAL( clicked() ), this, SLOT(addMyWidget()));


this->setCentralWidget(splitter);
}
void MainWindow::addMyWidget()
{
QListWidget *listWidget = new QListWidget;
for(int i = 0; i < 4; i++)
{
QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText("aaaaaa");
listWidget->addItem(newItem);
}

listWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
rightLayout->addWidget(listWidget);
}

MainWindow::~MainWindow()
{

}

wysota
22nd July 2009, 20:51
Set the vertical size policy of the widget you place into the scroll area to Minimum. Same goes for the list widgets you place into it.

myhot21
23rd July 2009, 03:38
Set the vertical size policy of the widget you place into the scroll area to Minimum. Same goes for the list widgets you place into it.

thank you!