HMI-35-【运动模式】实现速度表和转速表自检

简介: 今天咱们给速度表和转速表增加一个自检功能, 就是从小走大最大再回到最小。用到的和上篇一样,也是有一个自己写的定时器。

HMI-35-【运动模式】实现速度表和转速表自检

​ 今天咱们给速度表和转速表增加一个自检功能, 就是从小走大最大再回到最小。用到的和上篇一样,也是有一个自己写的定时器。

目前进度

​ 这次一个动画放不下了,两部分看吧,上部分就是展示了自检功能


[TOC]

关键字: HMIQTimer动画uiQt

搞一个自己定时器,不用QTimer

​ 今天这个还是先撸一个定时器,两个表的定时器除了名字不同,代码都一样,代码如下:

class MDS_LeftThread :  public QThread
{
    Q_OBJECT
public:
    /**
     * @brief run
     * 重载线程函数
     */
    virtual void run();

signals:
    void signalselfInspection(int number);
    void signalSelfInspectionfinished();
public:
    bool runFlag = true;
private:
    int m_number = 0;
    bool flagDESC = false;

};
void MDS_LeftThread::run()
{
    while (runFlag)
    {
        emit signalselfInspection(m_number);
        if(flagDESC)
        {

            if(m_number == 0)
            {
                runFlag = !runFlag;
                flagDESC = !flagDESC;
                emit signalSelfInspectionfinished();
            }
            m_number--;
        }
        else
        {
            m_number++;
            if(m_number == 100)
            {
                flagDESC = !flagDESC;
            }
        }
        msleep(8);
    }
}

自检功能实现

void MDS_Left::selfInspection()
{
    if(m_liftThread)
    {
        m_liftThread->runFlag = true;
        m_liftThread->start();
    }
}
void MDS_Left::slot_leftSelfInspection(int number)
{
    setCarSpeed(2.4*number);
}

说明:

本项目中所使借鉴原型来自:[吉利] 博瑞GE | 仪表HMI设计吉利汽车HMI项目

设计图的所有权和解释权都归吉利汽车所有。

本项目所有资源文件均有打不死的小海复刻制作。

本项目代码暂时不会开源,有需要的源码的可与我联系,左上角二维码加微信。

本项目仅限学习交流、禁止商业使用。


博客签名2021

相关文章
|
JavaScript
Element el-form 表单详解
本文目录 1. 前言 2. 基本用法 3. 行内表单 4. 标签对齐方式 5. 调整尺寸 6. 小结
2474 0
Element el-form 表单详解
|
11月前
|
存储 SQL 数据采集
Django框架的表单验证和过滤机制的原理是什么?
Django框架的表单验证和过滤机制的原理是什么?
269 73
|
数据挖掘 索引 Python
# Python 判断入参日期是周几
# Python 判断入参日期是周几 原创
260 2
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
1290 1
git学习三:git使用:删除仓库,删除仓库内文件
|
缓存 监控 算法
小米面试题:多级缓存一致性问题怎么解决
【10月更文挑战第23天】在现代分布式系统中,多级缓存架构因其能够显著提高系统性能和响应速度而被广泛应用。
930 3
|
JavaScript IDE 开发工具
找不到模块“./App.vue”或其相应的类型声明。ts(2307)
这篇文章介绍了在Vue 3 + TypeScript + Vite开发环境中解决找不到`.vue`文件模块或其类型声明错误的两种方法:使用VSCode的TypeScript Vue Plugin (Volar)插件或手动在`env.d.ts`文件中声明`*.vue`模块类型。
2494 1
找不到模块“./App.vue”或其相应的类型声明。ts(2307)
|
算法 Docker Python
二十七 | 案例篇:为什么我的磁盘I/O延迟很高?
二十七 | 案例篇:为什么我的磁盘I/O延迟很高?
708 0
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
8611 5
一文带你认识蓝牙 GATT 协议
|
关系型数据库 MySQL 数据库
Django与MySQL:配置数据库的详细步骤
Django与MySQL:配置数据库的详细步骤
|
JavaScript
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
4213 0