【发布时间】:2014-09-11 08:48:21
【问题描述】:
我生成复选框如下:
foreach(QString filt, types){
QCheckBox *checkbox = new QCheckBox(filt, this);
checkbox->setChecked(true);
vbox->addWidget(checkbox);
}
我需要按名称访问这些复选框,但它们的名称都相同?
我需要阅读它们显示的文字。
我该怎么办?
是否可以运行 for 循环并将 i 的值附加到复选框的末尾。所以实际上,复选框将被称为复选框[0]、复选框[1]等?
编辑:
我已将代码更改为以下内容:
for(int i=0; i<types.count(); ++i)
{
QString filt = types[i];
*checkboxCount = *checkboxCount + 1;
QCheckBox *typecheckbox[i] = new QCheckBox(filt, this);
typecheckbox[i]->setChecked(true);
vbox->addWidget(typecheckbox[i]);
}
我认为这是一种动态命名复选框的方法,因此我可以遍历它们以从中获取文本值。
我在这行QCheckBox *typecheckbox[i] = new QCheckBox(filt, this);
对解决方案/替代方法有任何想法吗?
【问题讨论】:
标签: c++ qt qobject qcheckbox qtwidgets