HMI-45-控制台控制台代码迁移

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HMI-45-控制台控制台代码迁移相关的知识,希望对你有一定的参考价值。

HMI-45-【控制台】控制台代码迁移

​ 今天实在是看不下去控制台了,多媒体先放一下,先搞一下控制台,说好听点就是优化一下控制台控制逻辑。

当前进度

​ 这个就是今天的成果,就是把转向灯控制和电话控制放到了一起,方便操控。


文章目录

关键字: HMIControlPanelQtlight控制台

转向灯控制迁移

​ 转向灯控制迁移到主控制面板中,通过信号给到控制台。代码如下

主控制面板

void MainControl::on_radioButton_turnLight_off_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(3);



void MainControl::on_radioButton_turnLight_left_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(0);



void MainControl::on_radioButton_turnLight_right_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(1);



void MainControl::on_radioButton_turnLightDouble_clicked(bool checked)

    if(checked)
        emit signal_TurnLight(2);

控制台

    connect(m_maincontrol,&MainControl::signal_TurnLight,[=](int light)
        switch (light) 
        case 0:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightLeft);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightLeft);
            break;
        
        case 1:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightRight);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightRight);
            break;
        
        case 2:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightWarning);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightWarning);
            break;
        
        case 3:
        
            if(m_meterDisplay)
                m_meterDisplay->setTurnLight(turnLight::m_turnLightOff);
            if(m_hud)
                m_hud->setTurnLight(turnLight::m_turnLightOff);
            break;
        
        
    );

电话控制迁移

​ 同转向灯一样,把电话控制迁移到主控制面板中,通过信号传递给控制台。代码如下:

主控制面板代码

void MainControl::on_pushButton_phone_call_clicked()

    emit signal_Phone(0);



void MainControl::on_pushButton_phone_answer_clicked()

    emit signal_Phone(1);



void MainControl::on_pushButton_phone_hangUp_clicked()

    emit signal_Phone(2);


控制台代码

    connect(m_maincontrol,&MainControl::signal_Phone,[=](int type)
        switch (type) 
        case 0:
        
            if(m_meterDisplay)
                m_meterDisplay->callIn("大模仿","12345678901",QPixmap(":/Comfort/Resources/MeterDisplay/Comfort/Phone/Picture.png"));
            break;
        
        case 1:
        
            if(m_meterDisplay)
                m_meterDisplay->setPhoneAnswer();
            break;
        
        case 2:
        
            m_meterDisplay->setPhoneHangUp();
            break;
        
        
    );

第三阶段成果展示

​ 目前已完成液晶仪表三种模式的初步显示,小模块后期根据精力更新了,主要还得找美术来搞资源,自己能力不够。暂未跟新计划。展示如下:

基于Qt的汽车仪表模拟 3.0

第二阶段成果展示

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

基于Qt的汽车仪表模拟 2.0

第一阶段成果展示

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

基于Qt的汽车仪表模拟 1.0)


说明:

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

多媒体部分是来自吉利博瑞2017旗舰版界面所有权和解释权都归吉利汽车所有。

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

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

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

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


以上是关于HMI-45-控制台控制台代码迁移的主要内容,如果未能解决你的问题,请参考以下文章

经典:浅谈以太坊智能合约的设计模式与升级方法

使用ef core的迁移功能并配置种子数据

核心数据模型版本控制和数据迁移

实体框架代码首次迁移文件源代码控制

基于代码的代码优先迁移

将现有应用程序迁移到的好的 PHP 框架是啥?