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 文件将包含指定的图标。

相关推荐
Love__Tay18 分钟前
【Python小练习】3D散点图
开发语言·python·3d
iCxhust1 小时前
一款复古的Intel8088单板机制作
开发语言·单片机·嵌入式硬件
CoderIsArt1 小时前
C# WPF常用调试工具汇总
开发语言·c#·wpf
晨曦5432102 小时前
针对医学大数据的 Python 爬虫实践指南
开发语言·爬虫·python
小白学大数据2 小时前
Python爬虫:多线程环境下503错误的并发控制优化
开发语言·爬虫·python
卖猪肉的痴汉2 小时前
5.2 Qt Creator 使用FFmpeg库
开发语言·qt·ffmpeg
teeeeeeemo3 小时前
Number.toFixed() 与 Math.round() 深度对比解析
开发语言·前端·javascript·笔记
我在北京coding3 小时前
Uncaught (in promise) TypeError: x.isoWeek is not a function
开发语言·javascript·vue.js
showmethetime3 小时前
[设计模式]创建型模式-单例模式
开发语言
Y1_again_0_again3 小时前
Java 包装类详解
java·开发语言