简介
当已知控件的 objectName 时,想要获取此控件的对象并修改其属性,这时可通过 findChild 函数来实现。
原型
findChild(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const
举例
当 ui 界面中存在 9 个 QPushButton,objectName 依次是 Mode1_Btn、Mode2_Btn、Mode3_Btn、Mode4_Btn、Mode5_Btn、Mode6_Btn、Mode7_Btn、Mode8_Btn、Mode9_Btn。可通过 findChild 函数将它们的对象存放在一个集合中。
QVector<QPushButton *> vecModeBtns;
m_vecModeBtns.resize(9+1);
for(int i = 1; i <= 9; i++)
vecModeBtns[i] = findChild<QPushButton *>("Mode" + QString::number(i) +"_Btn");
//修改Mode5_Btn的文本
vecModeBtns[5]->setText("NewMode5");