【发布时间】:2014-10-23 06:33:20
【问题描述】:
我想简化这个 if 语句,使其更“人类可读”
void NewFan::checkData()
{
if(!ui->firstNameEdit->text().isEmpty() && !ui->lastNameEdit->text().isEmpty() &&
(!ui->peselEdit->text().isEmpty() && (ui->birthDateEdit->text().size()==10 &&
!ui->townEdit->text().isEmpty() && !ui->addressEdit->text().isEmpty()) ||
ui->peselEdit->text().size()==11))
ui->addButton->setEnabled(true);
else
ui->addButton->setDisabled(true);
}
除了将其重写为嵌套的 if 语句之外,还有其他方法吗?
【问题讨论】:
-
您可以将函数调用替换为变量 (bool)。
-
另一种选择:重新设计您的 GUI 并触发每个控件的更改。例如,一旦 firstNameEdit 为空,就禁用您的按钮。