在Qt中时常需要去遍历某个控件,假设有如下场景:
UI中有名为Lab_IO_n(n=0,1,2,....)的若干个QLabel控件,现在遍历名为“Lab_IO_”的所有QLabel控件,并根据给定的值改变颜色为红色或绿色:
auto f_exi = [&](int index,int value ) {
QString name = "lab_IO_" + QString::number(index);
QLabel* lab = QWidget::findChild<QLabel*>(name);
if (value==0)
{
lab->setStyleSheet("background-color: rgb(255, 0, 0);");
}
else
{
lab->setStyleSheet("background-color: rgb(0, 255, 0);");
}
};