Qt实现车载多媒体项目,包含天气、音乐、视频、地图、五子棋功能模块,免费下载源文件!

本文主要介绍项目,项目的结构,项目如何配置,项目如何打包。这篇文章如果对你有帮助请点赞和收藏,谢谢!源代码仅供学习使用,如果转载文章请标明出处!(免费下载源代码)(免费下载exe

1.项目介绍

1.1主界面

主界面展示当前时间日期,并且包含天气、音乐、视频、地图、图片、五子棋等应用,点击后跳转到相应界面。浏览器还未实现,感兴趣的读者可以尝试实现。

1.2天气

天气界面同样有当前时间展示,会在左上边对今天的天气信息做出展示,点击刷新图标即可刷新天气,天气界面下边会展示7天的天气信息,会把当天的天气高亮显示。

1.3音乐

音乐界面本地列表可以手动添加音乐,如果已添加会弹出警告框。在播放时会在右侧展示歌词,拖动进度条可以控制音乐的进度,声音大小可以通过声音进度条控制,或者点击声音图标直接静音。在线列表由于需要提供接口,所以我是直接在本地nginx里编写json文件操作的。

1.4视频

视频界面跟音乐界面功能差不多,这里就不介绍了。只是多了一个全屏操作。

1.5地图

地图界面支持显示当前位置,可以放大地图,缩小地图,定当前位置,同时支持拖拽地图。这里获取路线感兴趣的读者可以尝试一下。

1.6图片

图片界面可以通过点击"文件"按钮添加单张或多张图片进行展示,同时实现了上一张、下一张、放大、缩小、左旋、右旋、删除等功能。

1.7五子棋

五子棋是黑白双方对战的形式,右侧会对当前回合玩家进行展示,五子棋实现了悔棋、求和、认输、重新开始等功能。

2.项目结构

这是用QTCreator打开看到的项目结构。以下已经标注出了文件是什么。

3.项目配置

3.1根据缺失模块补充

本项目是用Qt 6.9.0(MinGW 13.1.0 64-bit)编译。用到了很多模块,如果你没下载,可以先进入qt的安装目录 然后可以看到MaintenanceTool.exe。接着右键在终端中打开。

然后执行 .\MaintenanceTool.exe --mirror https://mirrors.aliyun.com/qt/ 这条命令。(这条命令是打开维护工具,然后用镜像源下载,这样速度更快)

3.2修改common.h

请修改common.h里边的配置,更换api的id和key。 写了许多注释应该可以看懂的

3.3添加音乐和视频做测试

如果你项目运行成功了,点击添加本地音乐文件如果打开一个空文件夹,可以将项目下的music文件下的歌曲和歌词拷到那个空文件夹下。视频同样在项目下有个video文件夹。这是我备份用来做测试的。

3.4打开nginx.exe加载在线列表

启动项目下的nginx。确保在点击在线列表是能获取到数据。当然不添加也不影响程序的运行。

4.项目打包

如果你对项目做了一些更改,或者你正棘手怎么打包项目,让你的好朋友在没有QT环境的情况下查看你的项目,你就需要对项目进行打包。以下是打包操作:

4.1用Release构建你的项目

4.2把构建文件中exe拿出来

新建一个文件夹(我取的名字是_release),将构建文件中exe放到新建的文件夹中。

4.3执行windeployqt命令

找到你的编译工具的这个终端用管理员身份运行

切换到exe所在目录下,然后执行windeployqt命令。

4.4不依赖QT环境直接运行

4.5其他(更换exe的图标)

如果你打包发现你的exe没有好看的图标,你可以按照下面的方法来做:

1.准备 .ico 图标文件。使用在线工具(如 Convertio)将 .png.jpg 图片转换为 .ico 格式。

2.将 .ico 文件放入项目目录。将生成的 .ico 文件(例如 logo.ico)放在项目的根目录,即 .pro 文件所在的目录。

3.修改 .pro 文件。在 .pro 文件中添加以下行:

RC_ICONS = logo.ico

这将指定编译器在生成 .exe 文件时使用该图标。

4.重新构建项目。保存 .pro 文件后,重新运行 qmake 并构建项目。生成的 .exe 文件将包含指定的图标。

相关推荐
xcyxiner1 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner2 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner2 天前
DicomViewer (添加模型类)3
qt
xcyxiner3 天前
DicomViewer (目录调整) 2
qt
xcyxiner3 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR0065 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术5 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园5 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob5 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享5 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm