☰
智能车载系统#主界面设计
2026/10/4 1:41:12 网站建设 项目流程

主界面设计

图片自己找的,界面排版自己设计的,有参考正点原子的项目。其中每个模块的功能代码后续会再陆续更新发布。底部按钮只设置了中间三个按钮的功能。

一、ui界面部分

二、代码实现部分功能

(1)appdemo.h代码

#ifndef APPDEMO_H #define APPDEMO_H //QT_BEGIN_NAMESPACE namespace Ui { class AppDemo; } //QT_END_NAMESPACE #include <QWidget> #include <QFile> #include <QDebug> // 时间显示+闹钟 #include <QLCDNumber> #include <QTime> #include <QTimer> #include <QDateTime> #include <QFont> #include <QString> #include <QLocale> #include "../musicplayer/musicplayer.h" class AppDemo :public QWidget { Q_OBJECT public: AppDemo(QWidget *parent = nullptr); ~AppDemo(); private: Ui::AppDemo *ui; // 时间显示+闹钟 QTimer *timer; // 灯光 QFile file; // 设置LED状态 void setLedState(bool); MusicPlayer *musicplayer; private slots: void on_mid_pushButton_3_clicked(); void on_mid_pushButton_4_clicked(); void on_mid_pushButton_1_clicked(); // 定时器定时刷新时间 void timerTimeout(); void on_mid_pushButton_5_clicked(); void on_mid_pushButton_2_clicked(); void on_mid_pushButton_6_clicked(bool checked); void on_top_pushButton_4_clicked(bool checked); void on_bottom_pushButton_5_clicked(); void on_bottom_pushButton_1_clicked(); void on_bottom_pushButton_3_clicked(); void on_bottom_pushButton_2_clicked(bool checked); signals: void hide_main(); void camera(); void music(); void video(); void weather(); void map(); void demo_musicnext(); void demo_musicprevious(); void demo_musicplay(); }; #endif // APPDEMO_H

(2)appdemo.cpp文件

#include "appdemo.h" #include "ui_appdemo.h" AppDemo::AppDemo(QWidget *parent) : QWidget(parent) , ui(new Ui::AppDemo) { ui->setupUi(this); /*默认是出厂系统的 LED 心跳的触发方式,想要控制 LED, * 需要改变 LED 的触发方式,改为 none,即无*/ system("echo none > /sys/class/leds/sys-led/trigger"); file.setFileName("/sys/devices/platform/leds/leds/sys-led/brightness"); //light // 时间显示 timer = new QTimer(this); QLocale locale = QLocale::Chinese;//指定中文显示 QTime time = QTime::currentTime(); QDateTime datetime = QDateTime::currentDateTime(); QString str1 = time.toString("hh:mm:ss"); QString str2 = datetime.toString("yyyy-MM-dd"); QString str3 = locale.toString(datetime,"dddd"); ui->mid_pushButton->setText(str1+"\n\n"+str2+"\n\n"+str3); // 底层按键设置 musicplayer = new MusicPlayer(); connect(timer,SIGNAL(timeout()),this,SLOT(timerTimeout())); timer->start(100); } AppDemo::~AppDemo() { delete ui; } // 时间显示,定时器定时刷新时间 void AppDemo::timerTimeout() { // QFont font("Roma",20,50); QLocale locale = QLocale::Chinese;//指定中文显示 QTime time = QTime::currentTime(); QDateTime datetime = QDateTime::currentDateTime(); QString str1 = time.toString("hh:mm:ss"); QString str2 = datetime.toString("yyyy-MM-dd"); QString str3 = locale.toString(datetime,"dddd"); ui->mid_pushButton->setText(str1+"\n\n"+str2+"\n\n"+str3); } // 倒车监控,隐藏主界面,显示监控模块界面 void AppDemo::on_mid_pushButton_3_clicked() { emit hide_main(); emit camera(); } // 音乐播放器 void AppDemo::on_mid_pushButton_4_clicked() { emit hide_main(); emit music(); } // 视频播放器 void AppDemo::on_mid_pushButton_1_clicked() { emit hide_main(); emit video(); } // 天气预报 void AppDemo::on_mid_pushButton_5_clicked() { emit hide_main(); emit weather(); } // 百度地图 void AppDemo::on_mid_pushButton_2_clicked() { emit hide_main(); emit map(); } // 夜灯亮灭 void AppDemo::on_mid_pushButton_6_clicked(bool checked) { // 如果文件不存在 if(!file.exists()) return; if(!file.open(QIODevice::ReadWrite)) qDebug()<<file.errorString(); if(checked) { ui->mid_pushButton_6->setText("夜灯灭"); file.write("1"); } else { ui->mid_pushButton_6->setText("夜灯亮"); file.write("0"); } file.close(); } // 故障灯 void AppDemo::on_top_pushButton_4_clicked(bool checked) { // 如果文件不存在 if(!file.exists()) return; if(!file.open(QIODevice::ReadWrite)) qDebug()<<file.errorString(); if(checked) system("echo heartbeat > /sys/class/leds/sys-led/trigger"); else system("echo none > /sys/class/leds/sys-led/trigger"); file.close(); } // 音乐播放器打开后,底部按键也可控制音乐播放 void AppDemo::on_bottom_pushButton_5_clicked() { emit demo_musicnext(); } void AppDemo::on_bottom_pushButton_1_clicked() { emit demo_musicprevious(); } void AppDemo::on_bottom_pushButton_3_clicked() { emit demo_musicplay(); }

三、最终界面

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询