0
点赞
收藏
分享

微信扫一扫

HMI-41-【节能模式】右侧表小汽车灯光实现

绣文字 2022-03-11 阅读 47
头图

HMI-41-【节能模式】右侧表小汽车灯光实现

​ 昨天我们把坐车的平均油耗给给搞了一下,今天我们搞一下右侧这个小汽车加灯光。这个目前不会做的太细,先实现面上的东西。

当前进度

​ 今天这个搞完,基本面上三大部分先凑出来了,还差的就是顶部信息,底部信息、水温表和油量表。


小汽车

​ 小汽车其实就是一个图片,后面可以在做的更细,比如开门,安全带检测、后备箱、机舱盖等等。先凑点东西,主要还是美工资源没有。主要看下扥光控制,分为两部分,近光和远光。代码如下

void MDE_Right_Car::setLight_Near(bool temp)
{
    if(temp)
        ui->label_Led_1->show();
    else
        ui->label_Led_1->hide();
}

void MDE_Right_Car::setLight_Far(bool tempL, bool tempR)
{
    if(tempL)
        ui->label_Led2_left->show();
    else
        ui->label_Led2_left->hide();
    if(tempR)
        ui->label_Led2_right->show();
    else
        ui->label_Led2_right->hide();


}

​ 剩下就是一步一步吧这接口引出到控制台。过程不表。

控制逻辑

​ 这里其实我用错了Radio Button的槽函数了,不过还可以使用,就下先不改了,等后面该控制台的时候在慢慢调。

void ControlPanel::initMainControl()
{
    m_maincontrol = new MainControl(ui->tab_maincontrol);
    m_maincontrol->setGeometry(0,0,1366,768);
    connect(m_maincontrol,&MainControl::signal_btnPowerClicked,this,&ControlPanel::slot_powerUpControl);
    connect(m_maincontrol,&MainControl::signal_keyPress,this,&ControlPanel::slot_keyBoardPress);
    connect(m_maincontrol,&MainControl::signal_keyRelease,this,&ControlPanel::slot_keyBoardRelease);
    connect(m_maincontrol,&MainControl::signal_Accelerator,this,[=](int accelerator){if(m_enging)m_enging->engintAccelerator(accelerator);});
    connect(m_maincontrol,&MainControl::signal_CarSpeed,this,[=](int speed){m_meterDisplay->setCarSpeed(speed);});
    connect(m_maincontrol,&MainControl::signal_Fuelconsumption,this,[=](int rafe){m_meterDisplay->setFuelConsumption(rafe/10.0);});
    connect(m_maincontrol,&MainControl::signal_OilChanged,this,[=](int oil){m_meterDisplay->setOilMass(oil);});
    connect(m_maincontrol,&MainControl::signal_WaterChanged,this,[=](int water){m_meterDisplay->setEngineTemperatur(water);});
    connect(m_maincontrol,&MainControl::signal_Light,this,[=](int temp){

        qDebug()  << temp;

        switch (temp) {
        case 0:
        {
            m_meterDisplay->setLight_Near(false);
            m_meterDisplay->setLight_Far(false,false);
            break;
        }
        case 1:
        {

            break;
        }
        case 2:
        {
            m_meterDisplay->setLight_Near(true);
            m_meterDisplay->setLight_Far(false,false);
            break;
        }
        case 3:
        {

            break;
        }
        case 4:
        {
            m_meterDisplay->setLight_Near(true);
            m_meterDisplay->setLight_Far(true,true);
            break;
        }
        case 5:
        {

            break;
        }
        case 6:
        {
            m_meterDisplay->setLight_Near(true);
            m_meterDisplay->setLight_Far(true,false);
            break;
        }
        case 7:
        {

            break;
        }
        case 8:
        {
            m_meterDisplay->setLight_Near(true);
            m_meterDisplay->setLight_Far(false,true);
            break;
        }
        case 9:
        {

            break;
        }

        }

    });
}

第二阶段成果展示

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

基于Qt的汽车仪表模拟 2.0

第一阶段成果展示

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

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



博客签名2021
举报

相关推荐

0 条评论