今天要获取每个lineedit的内容,发现了太麻烦了, str[0] = ui->lE_Temp1->text(); str[1] = ui->lE_Temp2->text(); str[2] = ui->lE_Temp3->text(); str[3] = ui->lE_Temp4->text(); str[4] = ui->lE_Temp5->text(); str[5] = ui->lE_Temp6->text(); str[6] = ui->lE_Temp7->text(); str[7] = ui->lE_Temp8->text(); 就在想有没有一个简单的办法,不然这谁受得了啊,于是一百度一查,果然发现可以通过查找儿子的方式 for(int i=1;i<8;i++){ QLineEdit* lE=findChild<QLineEdit*>("lE_Temp"+QString::number(i)); if(lE!=NULL) qDebug() << lE->text(); }
这样就可以很简单操作了,于是我就了解了一下findChild函数,
描述
返回对象中类型可以转换为T,并且名为name的孩子。如果不满足条件,则返回0。默认执行递归搜索,除非指定选FindDirectChildrenOnly。如果有一个以上的孩子匹配搜索,返回最直接的祖先。如果有几个直系祖先,没有定义哪一个将被返回。这种情况下,应该使用findChildren()。说简单点,就是一个找爸爸的函数