将这42个label 设置一个统一的属性 setProperty(x),然后通过qss样式表配置好其不同状态下的颜色,来统一控制 。最后想要更改的时候 通过调用setProperty,使能你刚才的自定义属性即可。
或者将这42个label放到一个frame里面,然后通过类似下面的语句进行设定
QList<QLabel *> btns = ui->frame_main->findChildren<QLabel *>();
foreach (QLabel * b, btns) {
b->setStyleSheet(x);
}