Qt:如何清除表格领域?

mim*_*mic 0 forms qt

我有一些形式与fiels,combos等.我想通过表单上的所有小部件,如果它是文本字段,清除它,类似的东西:

foreach(QObject *child, this->ui->children())
{
    QLineEdit *txtField = qobject_cast<QLineEdit *>(child);
    if (txtField)
    {
        txtField->clear();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是ui对象没有像孩子这样的属性,我不知道如何获得整个儿童小部件的集合.

也许表单对象有类似Clear方法的东西.这将是最好的.

谢谢

wro*_*ite 5

试试吧.

foreach(QLineEdit *widget, this->findChildren<QLineEdit*>()) {
    widget->clear();
}
Run Code Online (Sandbox Code Playgroud)