HMI-47-多媒体Title界面实现 2

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HMI-47-多媒体Title界面实现 2相关的知识,希望对你有一定的参考价值。

HMI-47-【多媒体】Title界面实现 2

​ 今天我将尝试实现以下多媒体部的Title部分,主要是空调出风模式、空调风量、空调模式.

当前进度


文章目录

关键字: HMIMultifunctionQtlighteco

空调风向显示

​ 风向界面上就是刷图片,用三个label表示三个风向,通过代码控制三个label的显示和隐藏,来达到显示风向的功能,直接上代码

界面控制代码

void MFD_Title::setWindDirection(int type)

    switch (type) 
    default:
    
        ui->label_fengxiang_1->hide();
        ui->label_fengxiang_2->hide();
        ui->label_fengxiang_3->hide();
    
    case 0:
    
        ui->label_fengxiang_1->show();
        ui->label_fengxiang_2->hide();
        ui->label_fengxiang_3->hide();
        break;
    
    case 1:
    
        ui->label_fengxiang_2->show();
        ui->label_fengxiang_1->hide();
        ui->label_fengxiang_3->hide();
        break;
    
    case 2:
    
        ui->label_fengxiang_3->show();
        ui->label_fengxiang_2->hide();
        ui->label_fengxiang_1->hide();
        break;
    
    case 3:
    
        ui->label_fengxiang_1->show();
        ui->label_fengxiang_2->show();
        ui->label_fengxiang_3->hide();
        break;
    
    case 4:
    
        ui->label_fengxiang_1->show();
        ui->label_fengxiang_3->show();
        ui->label_fengxiang_2->hide();
        break;
    
    case 5:
    
        ui->label_fengxiang_2->show();
        ui->label_fengxiang_3->show();
        ui->label_fengxiang_1->hide();
        break;
    
    case 6:
    
        ui->label_fengxiang_1->show();
        ui->label_fengxiang_2->show();
        ui->label_fengxiang_3->show();
        break;
    
    case 7:
    
        ui->label_fengxiang_1->hide();
        ui->label_fengxiang_2->hide();
        ui->label_fengxiang_3->hide();
        break;
    

    

控制界面代码

static int WindDirection = 0;
void MainControl::on_pushButton_windDirection_clicked()

    emit signal_WindDirection(WindDirection);
    WindDirection++;
    if(WindDirection>7)
        WindDirection = 0;

控制台代码

    connect(m_maincontrol,&MainControl::signal_WindDirection,this,[=](int type)
            if(m_multifunction)
                m_multifunction->setWindDirection(type);
    );

其实如果对接的好,可以直接使用信号槽连接过去,但是呢,这里有部分数据需要做处理,这里我就用的匿名函数来做了。

空调风量实现

直接上代码

实现代码

void MFD_Title::setWindValue(int value)

    QString style = QString("border-image: url(:/MultifunctionDisplay/Resources/MultifunctionDisplay/Title/fengli_%1.png);").arg(int(value/12.5));
    ui->label_fengli->setStyleSheet(style);

控制界面代码

void MainControl::on_verticalSlider_WindValue_valueChanged(int value)

    emit signal_WindValue(value);

控制台代码

    connect(m_maincontrol,&MainControl::signal_WindValue,this,[=](int value)
        if(m_multifunction)
            m_multifunction->slot_setWindValue(value);
    );

第三阶段成果展示

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

基于Qt的汽车仪表模拟 3.0

第二阶段成果展示

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

基于Qt的汽车仪表模拟 2.0

第一阶段成果展示

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

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


说明:

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

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

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

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

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

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


以上是关于HMI-47-多媒体Title界面实现 2的主要内容,如果未能解决你的问题,请参考以下文章

风玫瑰图怎么画

HMI-49-多媒体Title界面实现 4

HMI-46-多媒体Title界面实现 1

HMI-49-多媒体Title界面实现 4

HMI-48-多媒体Title界面实现 3

HMI-48-多媒体Title界面实现 3