Область прокрутки Qt не добавляется в полосы прокрутки

Привет, ребята, я должен динамически создавать кнопки в зависимости от ввода пользователя, поэтому, если пользователь дает большое число ввода, виджет, содержащий кнопки, должен иметь возможность прокручивать вверх и вниз. По этой причине я использую QScrollArea. Я генерирую шаблон в Qt designer, а UIC генерирует код для меня, после чего я добавляю свою часть, которая должна обрабатывать динамическое создание кнопок. Тем не менее, я не могу заставить вертикальные полосы прокрутки появляться. Вот соответствующая часть кода.

    verticalWidget = new QWidget(FWHMWorkflowDialog);
    verticalWidget->setObjectName(QString::fromUtf8("verticalWidget"));
    verticalWidget->setMinimumSize(QSize(150, 0));
    verticalWidget->setMaximumSize(QSize(150, 16777215));
    verticalLayout_5 = new QVBoxLayout(verticalWidget);
    verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
    scrollArea = new QScrollArea(verticalWidget);
    scrollArea->setObjectName(QString::fromUtf8("scrollArea"));
    scrollArea->setMaximumSize(QSize(150, 16777215));
    scrollArea->setWidgetResizable(true);
    scrollAreaWidgetContents = new QWidget();
    scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
    scrollAreaWidgetContents->setGeometry(QRect(0, 0, 130, 432));

    numberOfSlices = numberSlices;
    for (int i = 0; i < numberOfSlices; i++)
    {
        QWidget *horizontalWidget = new QWidget(scrollAreaWidgetContents);
        horizontalWidget->setMaximumSize(150,40);
        horizontalWidget->setGeometry(QRect(0, i*40, 150, 40));
        hWidgetList.push_back(horizontalWidget);

        QHBoxLayout *hLayout = new QHBoxLayout(horizontalWidget);
        hLayoutList.push_back(hLayout);
        hLayout->setSizeConstraint(QLayout::SetMinimumSize);
        hLayout->setContentsMargins(-1, 1, -1, 1);

        QPushButton *pushButton = new QPushButton(horizontalWidget);
        pushButtonList.push_back(pushButton);
        QString temp = QString("m_sliceButton").arg(i);
        pushButtonList[i]->setObjectName(temp);
        pushButtonList[i]->setGeometry(QRect(10, 20+i*40, 98, 27));
        hLayout->addWidget(pushButton);

        QCheckBox *checkBox = new QCheckBox(horizontalWidget);
        checkBoxList.push_back(checkBox);
        temp =  QString("m_checkBox").arg(i);
        checkBoxList[i]->setObjectName(temp);
        checkBoxList[i]->setEnabled(true);
        checkBoxList[i]->setGeometry(QRect(110, 20+i*40, 21, 22));

        hLayout->addWidget(checkBox);

    }

    scrollArea->setWidget(scrollAreaWidgetContents);
    //scrollArea->setWidgetResizable(true);

    verticalLayout_5->addWidget(scrollArea);

Окно вывода всегда выглядит следующим образом.

В этом примере пользователь вводит 25, но вы можете видеть, что 21-я кнопка обрезана, а 4 другие кнопки не видны.

Проблема с размером окна, возникающая после начала работы функции прокрутки.

Ответы на вопрос(2)

Ваш ответ на вопрос