wordI有一个字符串向量,我需要将每个字符串分配给一个复选框。我试图将复选框插入滚动区域。我的主UI上有一个预制的滚动条,名为滚动条。如何在向量中将每个字符串表示为滚动区域中的复选框?
目前我有:
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如果有另一个小部件更容易使用,那么滚动条我可以使用它,只要我有能力滚动。
答案 0 :(得分:1)
我个人会使用容器小部件,如下所示:
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);
}
请注意,您的原始代码在语法上是不正确的。我添加了缺少的右括号。