Qt Qwdget 汽车仪表知识点拆解3 进度条编写
先贴上效果图,注意,没有写逻辑,都是乱动的
这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈
有一个大的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; } }
这样,就可以了