当我有很多 QCheckBox 被选中后,如何批量全部取消勾选呐?
- 方法一:findChildren函数
- 方法二:foreach循环
- 效果展示:
方法一:findChildren函数
QList<QCheckBox*> checkBoxes = this->findChildren<QCheckBox*>();
for(QCheckBox* checkBox : checkBoxes) {
checkBox->setChecked(false);
}
方法二:foreach循环
QList<QCheckBox*> checkBoxes;
checkBoxes << ui->checkBox_21 << ui->checkBox_21<< ui->checkBox_22<< ui->checkBox_23<< ui->checkBox_24
<< ui->checkBox_41<< ui->checkBox_42<< ui->checkBox_43<< ui->checkBox_44<< ui->checkBox_45
<< ui->checkBox_611<< ui->checkBox_612<< ui->checkBox_613<< ui->checkBox_614<< ui->checkBox_615
<< ui->checkBox_616<< ui->checkBox_617<< ui->checkBox_711<< ui->checkBox_712<< ui->checkBox_713
<< ui->checkBox_714<< ui->checkBox_715<< ui->checkBox_721<< ui->checkBox_722<< ui->checkBox_723
<< ui->checkBox_724<< ui->checkBox_725<< ui->checkBox_731<< ui->checkBox_732<< ui->checkBox_733;
foreach(QCheckBox* checkBox, checkBoxes) {
checkBox->setCheckState(Qt::Unchecked);
}
效果展示:
图1 全部勾选
|
图2 一键清除
|