这是一个创建于 1680 天前的主题,其中的信息可能已经有所发展或是发生改变。
是用 Qt 写的,这段是槽,接收信号传过来的值然后处理,感觉这段写起来很麻烦,dalao 们还有办法优化下吗?
void Dialog::receive(QString type, QString cmd, QString value)
{
if(type=="0"){ui->wd->setText(value);wd=value.toFloat();}
if(type=="1"){ui->sd->setText(value);sd=value.toFloat();}
if(type=="2"){ui->gz->setText(value);gz=value.toFloat();}
if(type=="3"){ui->yw->setText(value);yw=value.toFloat();}
if(type=="4"){ui->rq->setText(value);rq=value.toFloat();}
if(type=="5"){ui->pm->setText(value);pm=value.toFloat();}
if(type=="6"){ui->co->setText(value);co=value.toFloat();}
if(type=="7"){ui->qy->setText(value);qy=value.toFloat();}
if(type=="8"){ui->rt->setText(value);rt=value.toFloat();}
if(type=="9"){refs==1?ui->btnfs->setStyleSheet("border-image: url(:/i/wind_speed_pressed.png);"):ui->btnfs->setStyleSheet("border-image: url(:/i/wind_speed_unpressed.png);");}
if(type=="10"){resd==1?ui->btnsd->setStyleSheet("border-image: url(:/i/lamp_speed_pressed.png);"):ui->btnsd->setStyleSheet("border-image: url(:/i/lamp_speed_unpressed.png);");}
if(type=="11"){rebjd==1?ui->btnbjd->setStyleSheet("border-image: url(:/i/alarm_speed_pressed.png);"):ui->btnbjd->setStyleSheet("border-image: url(:/i/alarm_speed_unpressed.png);");}
if(type=="12"){
if(recl==1){ui->btno->setStyleSheet("border-image: url(:/i/curtain_open_pressed.png);");}
if(recl==2){ui->btnc->setStyleSheet("border-image: url(:/i/curtain_close_pressed.png);");}
if(recl==4){ui->btns->setStyleSheet("border-image: url(:/i/curtain_stop_pressed.png);");}
}
if(type=="13"){
cmd.toInt()==0x05?ui->btndvd->setStyleSheet("border-image: url(:/i/channel_2_pressed.png);"):ui->btndvd->setStyleSheet("border-image: url(:/i/channel_2_unpressed.png);");
cmd.toInt()==0x03?ui->btnds->setStyleSheet("border-image: url(:/i/channel_3_pressed.png);"):ui->btnds->setStyleSheet("border-image: url(:/i/channel_3_unpressed.png);");
cmd.toInt()==0x01?ui->btnkt->setStyleSheet("border-image: url(:/i/channel_1_pressed.png);"):ui->btnkt->setStyleSheet("border-image: url(:/i/channel_1_unpressed.png);");
}
if(type=="15"){remj==1?ui->btnmj->setStyleSheet("border-image: url(:/i/door_control_pressed.png);"):ui->btnmj->setStyleSheet("border-image: url(:/i/door_control_unpressed.png);");}
}