天天看點

Qt Qwdget 汽車儀表知識點拆解3 進度條編寫

Qt Qwdget 汽車儀表知識點拆解3 進度條編寫

這篇我來說說左側的這個進度條的實作原理,其實更簡單,哈哈哈

Qt Qwdget 汽車儀表知識點拆解3 進度條編寫

有一個大的widget,根據素材,我放了10個label

Qt Qwdget 汽車儀表知識點拆解3 進度條編寫

剩下的就是寫一個函數,根據資料的不同,實時控制這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;
    }
}      

這樣,就可以了

繼續閱讀