我认为这是同样的问题:QScrollArea调整QWidget的大小
但没有解决方案.所以让我揭露问题.
我认为问题来自单一来源::大小提示和布局(http://qt-project.org/doc/qt-5.1/qtwidgets/qscrollarea.html#details)
第二个问题(缩小小部件)可以通过设置"c-> setSizeConstraint(QLayout :: SetMinimumSize);"来解决.
我目前正在寻找丢失滚动条的解决方案
这是显示我的问题的代码:
<c++>
#include <QWidget>
#include <QScrollArea>
#include <QVBoxLayout>
#include <QSpinBox>
class test2 : public QWidget
{
Q_OBJECT
public:
test2(QWidget *parent = 0) :QWidget(parent)
{
b = new QScrollArea(this);
c = new QVBoxLayout;
for (int i = 0; i < 10; i++)
{
a.push_back(new QSpinBox());
c->addWidget(a[i]);
}
c->setSizeConstraint(QLayout::SetMinimumSize);
b->setLayout(c);
b->resize(200, 200);
} …Run Code Online (Sandbox Code Playgroud)