基于Qt的仿酷狗音乐播放器设计(一)

时间:2024-03-14 15:11:48

简述

其实在很早以前博主就有想用Qt写一个比较好的音乐播放器的想法,但由于平时上课的压力和以前对设计模式代码规范做的不太好,一直没有进行。所以在这个寒假准备好好的设计一下。下面先简单的说明一下设计的大概。

  1. 网络音乐API的获取
  2. 界面的布局
  3. 功能模块分布设计

网络音乐API的获取

这部分之前博主是准备利用Python的爬虫进行酷狗或者网易云音乐的官方API的获取。但参考了网上的一些博客,在后面会列出来有兴趣的朋友可以去了解一下。
但博主觉得太过于复杂,并且接口和数据的加密形式很容易变化,后来就选择了一个开源了一些API的网站,在这里对网站维护者表达崇高的敬意。在后面博主会专门针对这个API的参数做出一些自己的理解。PS:对网站维护者比心心
博主:Mi_Chong 文章: 网易云音乐API获取分析
API提供网站(PS:请勿将本网站中提到的任何api接口用作商业用途。)
https://api.imjad.cn/

界面的布局

关于界面的布局,博主大概想参考酷狗音乐PC端网易云音乐PC端

关于登录注册: 首先贴图
基于Qt的仿酷狗音乐播放器设计(一)
模仿登录功能,实现登录模拟对话框
点击登录后,进入到登录模态对话框,在这里先给出实现概念图。
根据下图所示,重难点可能在于用户名(QComBoBox)的代理设计。
基于Qt的仿酷狗音乐播放器设计(一)
模仿注册功能,实现注册模拟对话框
点击注册后或者在登录界面点击注册账号后会转到注册模态对话框,在这里先给出实现概念图。
根据下图所示,注册框的重点和难点应该在于动态生成验证码。(PS:博主打算是在一张空白图片上随机生成数字)
关于生成随机验证码,博主打算的是利用QLabel重写事件来实现。具体步骤在这里不做过多的解释,博主会在另一篇文章单独给出。PS:在下图中没有画出重新生成验证码的Button,在后期实现代码的时候会跟上。
基于Qt的仿酷狗音乐播放器设计(一)

关于自定义任务栏
首先展示酷狗界面的任务栏,如下图。
基于Qt的仿酷狗音乐播放器设计(一)
博主想基于酷狗的自定义任务栏进行实现,经过博主的考虑,暂时只实现部分功能,这部分功能包括工具换肤设置隐藏窗口化最小化关闭。如下图展示的图标
基于Qt的仿酷狗音乐播放器设计(一)基于Qt的仿酷狗音乐播放器设计(一)基于Qt的仿酷狗音乐播放器设计(一)
下面我们以此来浏览上图的各个功能,首先我们打开工具,出现的是一个模态对话框。
说到这里,我想说明的一点是如果想实现打开一个对话框,底层窗口暗化可以用QPalette进行处理或者Qss控制。
基于Qt的仿酷狗音乐播放器设计(一)
依然经过博主的考虑后打算只实现下图所示,格式转化在设计的时候另做考虑。
基于Qt的仿酷狗音乐播放器设计(一)
关于换肤的界面如下图
基于Qt的仿酷狗音乐播放器设计(一)
接下里是点击设置,设置对话框大概如下图
基于Qt的仿酷狗音乐播放器设计(一)

另外关于隐藏音乐库最小化关闭在这里暂不一一介绍。
更多关于这个播放器的设置,将会在后面慢慢更新。