C++ Dynamcaly将QCHECKBOX添加到QScrollArea?

C++ Dynamcaly将QCHECKBOX添加到QScrollArea?,c++,qt,qcombobox,qscrollarea,qtwidgets,C++,Qt,Qcombobox,Qscrollarea,Qtwidgets,我有一个字符串向量,我需要将每个字符串指定给一个复选框。我正在尝试将复选框插入滚动区域。我的主界面上有一个预先制作的滚动条,名为滚动条。如何将向量中的每个字符串表示为滚动区域中的复选框 目前我有: for(auto word: words){ ///words is a vector of words //My attempt to dynamicaly create a check box QCheckBox *checkbox = new QCheckBox( QStri

我有一个字符串向量,我需要将每个字符串指定给一个复选框。我正在尝试将复选框插入滚动区域。我的主界面上有一个预先制作的滚动条,名为滚动条。如何将向量中的每个字符串表示为滚动区域中的复选框

目前我有:

for(auto word: words){  ///words is a vector of words

    //My attempt to dynamicaly create a check box
    QCheckBox *checkbox = new QCheckBox( QString::fromStdString(word); 
    this->ui->scrollArea->setWidget(checkbox);
}
由于某些原因,此代码只会在滚动区域添加一个带有单词的复选框


PS如果有其他更容易使用的小部件,那么我可以使用滚动条,只要我能够滚动。

我个人会使用容器小部件,如下所示:

QWidget container;
QVBoxLayout* containerLayout = new QVBoxLayout();
container.setLayout(containerLayout);
ui->scrollArea->setWidget(container);
for(auto word: words){
    QCheckBox *checkbox = new QCheckBox(QString::fromStdString(word));
    containerLayout->addWidget(checkbox);
}

请注意,您的原始代码在语法上是不正确的。我添加了缺少的结束括号。

为什么不将它们添加到容器小部件中,而容器小部件将被添加到滚动区域中?我将如何执行此操作?