gpt4 book ai didi

c++ - QCheckbox名称访问

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:43:36 27 4
gpt4 key购买 nike

我按如下方式生成复选框:

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);

对解决方案/替代方法有什么想法吗?

最佳答案

如果你想稍后访问复选框,你可以使用 find children method如下:

QStringList myStringList;
QList<QCheckBox *> list = vbox->findChildren<QCheckBox *>();
foreach (QCheckBox *checkBox, list) {
if (checkBox->isChecked())
myStringList.append(checkBox->text());
}

关于c++ - QCheckbox名称访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com