Qt Qwdget 汽车仪表知识点拆解3 进度条编写

简介: 先贴上效果图,注意,没有写逻辑,都是乱动的

image.png

这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈

 image.png

有一个大的widget,根据素材,我放了10个label

image.png

剩下的就是写一个函数,根据数据的不同,实时控制这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;
    }
}

这样,就可以了

目录
相关文章
|
3月前
|
C++
基于QT实现的拷贝文件以及实时进度条(简易版)
1.基于按钮或者菜单栏的槽里去写逻辑函数(我这边用的是菜单栏),ui实现的进度条 2.创建两个对象,一个是源文件,一个是目标文件分别用getopenfileName、getsavefileName函数即可。 3.利用QFile类去实现对两个文件的创建,因为QFile中可以获取文件的属性已经读写等。 4.循环的去读取源文件中的数据,然后写入目标文件
413 6
|
28天前
|
存储 编译器 程序员
QT源码学习 | 编译器知识点
本文是关于QT源码学习中编译器知识点的总结,包括`__declspec`、`Q_FUNC_INFO`、`__assume`、`__attribute__`、`__ASSEMBLER__`、`QT_SUPPORTS`和`QT_WARNING_DISABLE_MSVC`等宏定义的使用和作用,以及相关参考链接。
QT源码学习 | 编译器知识点
|
11月前
《QT从基础到进阶·二十七》进度条QProgressBar
《QT从基础到进阶·二十七》进度条QProgressBar
155 0
QT圆形进度条(QT桌面项目光照强度检测)
QT圆形进度条(QT桌面项目光照强度检测)
95 0
Qt之滑动条和进度条(QSlider、QProgressBar)
Qt之滑动条和进度条(QSlider、QProgressBar)
1647 1
|
程序员 C++ Windows
Qt多线程分享——你必须知道的进程知识点
Qt多线程分享——你必须知道的进程知识点
|
存储 编解码 计算机视觉
项目实战:Qt+OpenCV视频播放器(支持播放器操作,如暂停、恢复、停止、时间、进度条拽托等)
项目实战:Qt+OpenCV视频播放器(支持播放器操作,如暂停、恢复、停止、时间、进度条拽托等)
项目实战:Qt+OpenCV视频播放器(支持播放器操作,如暂停、恢复、停止、时间、进度条拽托等)
基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条
基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条
基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条
Qt [GC9-23]:模拟汽车上电液晶仪表部分
Qt [GC9-23]:模拟汽车上电液晶仪表部分
123 0
Qt [GC9-23]:模拟汽车上电液晶仪表部分