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

164 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

头图

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

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

目前进度

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


HMI-35-【运动模式】实现速度表和转速表自检目前进度搞一个自己定时器,不用QTimer自检功能实现第一阶段成果展示

关键字: 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);
}

第一阶段成果展示

目前以完成HUD界面及接口开发,液晶仪表舒适模式开发。展示如下:

[video(video-ArCvRvBQ-1642664938100)(type-bilibili)(url-player.bilibili.com/player.html…img-blog.csdnimg.cn/img_convert…全网最帅Qt开发吉利汽车仪表)]


说明:

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

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

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

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

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


博客签名2021