先贴上效果图,注意,没有写逻辑,所以这些都是乱动的

这里线主要说一下中间显示速度的显示制作的方式,在这里,自己专门写了一个数字的仪表

考虑的一般的汽车是没有办法把瞬时速度提升到四位数的,所以我这里就放了三位数,完了根据实时数据,更新这三个label的资源文件,在这个新的类中,只有一个函数,那就是设置数字

void set_number(int num = 0);

下面是实现方法,这个方法应该还可以优化,不过懒得优化了,先把功能堆出来。

void Number_1::set_number(int num)
{int temp1 = num;int temp2 = num;switch (num%10) {case 0:ui->label_3->setStyleSheet("border-image:url(:/source/number/0.png)");break;case 1:ui->label_3->setStyleSheet("border-image:url(:/source/number/1.png)");break;case 2:ui->label_3->setStyleSheet("border-image:url(:/source/number/2.png)");break;case 3:ui->label_3->setStyleSheet("border-image:url(:/source/number/3.png)");break;case 4:ui->label_3->setStyleSheet("border-image:url(:/source/number/4.png)");break;case 5:ui->label_3->setStyleSheet("border-image:url(:/source/number/5.png)");break;case 6:ui->label_3->setStyleSheet("border-image:url(:/source/number/6.png)");break;case 7:ui->label_3->setStyleSheet("border-image:url(:/source/number/7.png)");break;case 8:ui->label_3->setStyleSheet("border-image:url(:/source/number/8.png)");break;case 9:ui->label_3->setStyleSheet("border-image:url(:/source/number/9.png)");break;default:break;}switch (temp1/10) {case 0:ui->label_2->setStyleSheet("border-image:url(:/source/number/0.png)");break;case 1:ui->label_2->setStyleSheet("border-image:url(:/source/number/1.png)");break;case 2:ui->label_2->setStyleSheet("border-image:url(:/source/number/2.png)");break;case 3:ui->label_2->setStyleSheet("border-image:url(:/source/number/3.png)");break;case 4:ui->label_2->setStyleSheet("border-image:url(:/source/number/4.png)");break;case 5:ui->label_2->setStyleSheet("border-image:url(:/source/number/5.png)");break;case 6:ui->label_2->setStyleSheet("border-image:url(:/source/number/6.png)");break;case 7:ui->label_2->setStyleSheet("border-image:url(:/source/number/7.png)");break;case 8:ui->label_2->setStyleSheet("border-image:url(:/source/number/8.png)");break;case 9:ui->label_2->setStyleSheet("border-image:url(:/source/number/9.png)");break;default:break;}switch (temp2/100) {case 0:ui->label_1->setStyleSheet("border-image:url(:/source/number/0.png)");break;case 1:ui->label_1->setStyleSheet("border-image:url(:/source/number/1.png)");break;case 2:ui->label_1->setStyleSheet("border-image:url(:/source/number/2.png)");break;case 3:ui->label_1->setStyleSheet("border-image:url(:/source/number/3.png)");break;case 4:ui->label_1->setStyleSheet("border-image:url(:/source/number/4.png)");break;case 5:ui->label_1->setStyleSheet("border-image:url(:/source/number/5.png)");break;case 6:ui->label_1->setStyleSheet("border-image:url(:/source/number/6.png)");break;case 7:ui->label_1->setStyleSheet("border-image:url(:/source/number/7.png)");break;case 8:ui->label_1->setStyleSheet("border-image:url(:/source/number/8.png)");break;case 9:ui->label_1->setStyleSheet("border-image:url(:/source/number/9.png)");break;default:break;}if(num<10){ui->label_3->move(64,0);ui->label_2->hide();ui->label_1->hide();}else if(num >=10 && num <100){ui->label_2->show();ui->label_1->hide();ui->label_2->move(32,0);ui->label_3->move(96,0);}else{ui->label_1->show();ui->label_2->show();ui->label_1->move(0,0);ui->label_2->move(64,0);ui->label_3->move(128,0);}
}

在主程序中调用如下

number_center = new Number_1(ui->widget_center);number_center->setGeometry(0,0,192,72);number_center->show();

好了,这个速度显示的界面就搞定了

Qt Qwdget 汽车仪表知识点拆解1 速度表示相关推荐

  1. Qt Qwdget 汽车仪表知识点拆解2 图像放大

    先贴上效果图,注意,没有写逻辑,都是乱动的 这里讲下 这个小汽车的进入过程,其实这个说白了就没有技术含量了,本来应该趁着这个机会学习一下Qt的动画机制,不过随机一想,这个自己写也累不到那里去 下面说下 ...

  2. Qt Qwdget 汽车仪表知识点拆解6 自定义控件

    先贴上效果图,注意,没有写逻辑,都是乱动的 这里说一下控件自定义 图中标出的部分都是自定义的控件 这里如果我们有批量类似的功能,就可以使用自定义控件的方式,这里我已下面的自定义控件说一下,上面的在上一 ...

  3. Qt Qwdget 汽车仪表知识点拆解4 另类进度条实现

    先贴上效果图,注意,没有写逻辑,都是乱动的 注意看一下,右面的这两个进度条,有瑕疵,就是我没有把图片处理干净,这里犹豫我不知道这个具体的弧度,也没法绘制,就偷懒了 现在上面放一个UI,把两个进度条抠空 ...

  4. Qt Qwdget 汽车仪表知识点拆解8 淡入效果

    先贴上效果图,注意,没有写逻辑,都是乱动的 看下面的开始,开始的时候有一个带入的效果,这里有一个坑, 网上大部分都是调用下面这个函数 setWindowOpacity(); 但是,你会发现,在你的子窗 ...

  5. Qt使用多核(jom)加快编译速度

    Qt Creator 在WINDOWS下默认是使用mingw32-make.exe作为编译器的,这是一个移植版本的GCC,只支持单核,速度很慢. 其实QT是有提供多核编译器的,叫jom. (1)首先先 ...

  6. Qt/C++常规知识点

    文章目录 前言 一.Qt基础知识点 1.信号槽 2.UI设计 3.流 4.网络 5.多线程 6.Qt类 7.Qt指针 二.C++基础知识点 1.基础 2.数组和指针 3.内存 4.系统 5.网络 6. ...

  7. Qt实践|HTTPS知识点-SSL socket获取百度首页

    目录 基本概念 代码与实例 基本概念 这里要明确一点,HTTP/HTTPS是应用层协议,而socket一般指TCP/UDP协议,也就是在传输层中,而IP协议是在网络层中! 这个实例主要是撸socket ...

  8. Qt文档阅读笔记|Qt实践| HTTPS知识点-获取某站点SSL证书

    目录 基本概念 代码与实例 基本概念 这里要先介绍几个类和函数 首先是QSslSocket:这个类提供了客户端和服务器之间的SSL加密socket连接.这个是基于TCP连接,可以传输加密数据,支持的协 ...

  9. Qt实践| HTTP知识点-接入某图片验证码系统查询余额

    目录 基本概念 代码与实例 基本概念 这个是接入了某识别验证码系统,这个验证码系统有很多的接口,其中就有VC++接口,但个人觉得,这个接口不太好,因为本人想用C++ Qt框架实现,而这个Qt框架的最大 ...

最新文章

  1. JS重复引用也会导致错误
  2. Java控制语句——for循环
  3. c++简单程序设计-5
  4. 【HDU - 1069】Monkey and Banana (最长下降子序列 + 贪心,最长上升子序列类问题)
  5. SendInput模拟键盘输入的问题 转
  6. 没串口怎么操作核心板的Linux?ADB(以点灯为例)
  7. ecshop中 transport.js/run() error:undefined
  8. 【BZOJ4196】【codevs4621】软件包管理器,树链剖分练习
  9. 【registry】registry合并带spring boot项目第一弹
  10. php webwxuploadmedia_PHP Web实现文件上传下载功能实例解析
  11. 结合内存分析java归并排序_排序算法之归并排序(Mergesort)解析
  12. flannel vxlan工作基本原理及常见排障方法
  13. jsp乱码介绍(续)
  14. VS2015 设置结构成员对齐
  15. 教师计算机培训汇报ppt,教师培训工作总结ppt模板
  16. Lumerical官方案例、FDTD时域有限差分法仿真学习(八)——光纤布拉格光栅(Fiber Bragg gratings)
  17. 3、管理员添加内容的实现
  18. 基于51单片机的自动红外感应洗手器proteus仿真程序设计
  19. 嵌入式操作系统复习总结
  20. googletest简介

热门文章

  1. 适合Java老手阅读的书籍推荐:
  2. Python|每日一练|幂函数算法|位运算|>>右移|分析神器pysnooper|日志输出:Pow(x, n)
  3. 刷题记录——动态规划
  4. 体验chatGPT编写代码
  5. @Column注解属性详解
  6. acunetix wvs网站漏洞扫描
  7. thinkphp文件上传以及 unable to create temporary file in 警告
  8. 蓝桥杯--基础(二)
  9. 课题——无线遥控实现
  10. 算法设计与分析--蛮力法