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;
    }
}


这样,就可以了

原文地址:https://www.cnblogs.com/DreamDog/p/9160051.html