学习QT过程中遇到的各种头疼的问题…
来源:互联网 发布:java面向对象编程题 编辑:程序博客网 时间:2024/05/11 20:07
昨天遗留的问题:
几个Check是相关联,就是一些选中,其余也必须选中,一个未选中,其他的也不能选中,今天一大早就解决这个问题。
OK 没有浪费一大早上的时间,解决了一个很棘手的问题,
实现了多个CheckBox的关联。
源代码一定要贴出来,关系是这样的,commonCheckBox是
最基础的,出了ACKCheckBox外,其他的detailedCheckBox
和Drop碰到packetsCheckBox都要以他为基础才能选中,
packetsCheckBox就必须以detailedCheckBox为基础,才能
选中。ACkCheckBox可以独立。
源码:
void SelectView::CommonCheckState()
{
if(commonCheckBox->isChecked())
{
sql="select * from alarm";
}
else
{
sql ="";
detailedCheckBox->setChecked(false);
droppedCheckBox->setChecked(false);
}
emitACKCheckState();
}
void SelectView::DetailedCheckState()
{
if(detailedCheckBox->isChecked())
{
if(!commonCheckBox->isChecked())
{
commonCheckBox->setChecked(true);
}
sql ="select * from alarm,alarm_extradata
where alarm.aid = alarm_extradata.aid";
}
else
{
if(droppedCheckBox->isChecked())
{
droppedCheckBox->setChecked(false);
}
sql="select * from alarm";
}
emitACKCheckState();
}
void SelectView::DroppedCheckState()
{
if(droppedCheckBox->isChecked())
{
commonCheckBox->setChecked(true);
detailedCheckBox->setChecked(true);
sql = "select * from
alarm,alarm_extradata,alarm_droppedpackets where
alarm.aid=alarm_extradata.aid and alarm.aid =
alarm_droppedpackets.aid";
}
emitACKCheckState();
}
void SelectView::ACKCheckState()
{
if(AckCheckBox->isChecked())
{
if(droppedCheckBox->isChecked())
{
sql = "select * from
alarm,alarm_extradata,alarm_droppedpackets,alarm_ac
k where alarm.aid = alarm_extradata.aid and
alarm.aid = alarm_droppedpackets.aid and alarm.aid
= alarm_ack.aid";
}
else if(detailedCheckBox->isChecked())
{
sql ="select * from
alarm,alarm_extradata,alarm_ack where alarm.aid =
alarm_extradata.aid and alarm.aid = alarm_ack.aid";
几个Check是相关联,就是一些选中,其余也必须选中,一个未选中,其他的也不能选中,今天一大早就解决这个问题。
OK 没有浪费一大早上的时间,解决了一个很棘手的问题,
实现了多个CheckBox的关联。
源代码一定要贴出来,关系是这样的,commonCheckBox是
最基础的,出了ACKCheckBox外,其他的detailedCheckBox
和Drop碰到packetsCheckBox都要以他为基础才能选中,
packetsCheckBox就必须以detailedCheckBox为基础,才能
选中。ACkCheckBox可以独立。
源码:
void SelectView::CommonCheckState()
{
}
void SelectView::DetailedCheckState()
{
where alarm.aid = alarm_extradata.aid";
}
void SelectView::DroppedCheckState()
{
alarm,alarm_extradata,alarm_droppedpackets where
alarm.aid=alarm_extradata.aid and alarm.aid =
alarm_droppedpackets.aid";
}
void SelectView::ACKCheckState()
{
alarm,alarm_extradata,alarm_droppedpackets,alarm_ac
k where alarm.aid = alarm_extradata.aid and
alarm.aid = alarm_droppedpackets.aid and alarm.aid
= alarm_ack.aid";
alarm,alarm_extradata,alarm_ack where alarm.aid =
alarm_extradata.aid and alarm.aid = alarm_ack.aid";