在 QT 中动态添加复选框时遇到问题

use*_*367 4 qt

我的要求:根据加载的文本文件中的行数动态创建复选框。

下面是我的代码:

QVBoxLayout *lay = new QVBoxLayout(this);
for(i=0;i<number_of_commands;i++)
{
    QCheckBox *dynamic = new QCheckBox(names[i]);
    dynamic->setChecked (true);
    lay->addWidget(dynamic);
}
ui->scrollAreaWidgetContents_2->setLayout(lay);
Run Code Online (Sandbox Code Playgroud)

我可以看到正确数量的复选框,但只有第一个框也以姓氏命名(即box1以名称[20]命名,所有其他框均为空)

vah*_*cho 5

复选框没有名称(关联文本),因为您没有设置它们。您可以在构造时设置它,例如:

QCheckBox *dynamic = new QCheckBox("This is a check box");
Run Code Online (Sandbox Code Playgroud)

setObjectName()您使用的函数是(QObject基类)函数,它设置的是对象名称,具有不同的含义。