我尝试使用QScrollArea
以便能够在同一个窗口中放置大量小部件。不幸的是,包含QWidget
(中央)的QScrollAea
没有缩放到窗口的大小,这使得...不像我想要的......我尝试了不同的东西,但我可以& #39;解决它......任何想法?
QWidget *central = new QWidget(this);
QScrollArea *scroll = new QScrollArea(this);
QVBoxLayout *vLayout = new QVBoxLayout(central);
this->setCentralWidget(central);
central->setLayout(vLayout);
//vect is not empty
for (elt t : vect)
{
vLayout->addWidget(new TweetDisplay(elt, t));
}
//If I remove those three lines, everything is displayed but of course, I can't scroll.
scroll->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
scroll->setWidget(central);
scroll->setWidgetResizable(true);
图片供参考:
答案 0 :(得分:2)
您应该尝试使用central
作为中心窗口小部件,而不是将中央窗口小部件设置为scroll
。因此,正确的行将是:
this->setCentralWidget(scroll);
请记住滚动区域使用central
作为它已包含的小部件,因此将其设置为中央小部件实际上没有意义。