先贴上效果图,注意,没有写逻辑,都是乱动的
这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈
有一个大的widget,根据素材,我放了10个label
剩下的就是写一个函数,根据数据的不同,实时控制这10个label的显示,
实现代码
void Widget::show_Lline(int num)
{
switch (num) {
case 0:
{
ui->label_lline_1->hide();
ui->label_lline_2->hide();
ui->label_lline_3->hide();
ui->label_lline_4->hide();
ui->label_lline_5->hide();
ui->label_lline_6->hide();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 1:
{
ui->label_lline_1->show();
ui->label_lline_2->hide();
ui->label_lline_3->hide();
ui->label_lline_4->hide();
ui->label_lline_5->hide();
ui->label_lline_6->hide();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 2:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->hide();
ui->label_lline_4->hide();
ui->label_lline_5->hide();
ui->label_lline_6->hide();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 3:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->hide();
ui->label_lline_5->hide();
ui->label_lline_6->hide();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 4:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->hide();
ui->label_lline_6->hide();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 5:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->show();
ui->label_lline_6->hide();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 6:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->show();
ui->label_lline_6->show();
ui->label_lline_7->hide();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 7:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->show();
ui->label_lline_6->show();
ui->label_lline_7->show();
ui->label_lline_8->hide();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 8:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->show();
ui->label_lline_6->show();
ui->label_lline_7->show();
ui->label_lline_8->show();
ui->label_lline_9->hide();
ui->label_lline_10->hide();
break;
}
case 9:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->show();
ui->label_lline_6->show();
ui->label_lline_7->show();
ui->label_lline_8->show();
ui->label_lline_9->show();
ui->label_lline_10->hide();
break;
}
case 10:
{
ui->label_lline_1->show();
ui->label_lline_2->show();
ui->label_lline_3->show();
ui->label_lline_4->show();
ui->label_lline_5->show();
ui->label_lline_6->show();
ui->label_lline_7->show();
ui->label_lline_8->show();
ui->label_lline_9->show();
ui->label_lline_10->show();
break;
}
default:
break;
}
}
这样,就可以了