找回密码
 会员注册
查看: 24|回复: 0

python3GUI--new音乐播放器!ByPyQt5(附下载地址)

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-9-4 18:12:18 | 显示全部楼层 |阅读模式
文章目录一.前言二.展示1.启动2.MV推荐3.专辑详情页4.歌手详情页5.搜索结果页6.歌曲播放页7.我喜欢歌曲页8.我喜欢专辑页三.思路&启发1.布局2.细节3.组件复用4.项目结构5.优化速度1.Nuitka1.显著提高性能:2.减小程序体积:3.增强安全性:2.采用缓存机制3.页面索引记录四.食用方法五.总结欢迎下载体验!文件大小:72.03M下载地址:https://wwt.lanzoul.com/iTWDU25p2oih一.前言大家好呀,之前预告过了,近期要发一款新的音乐播放器,保证亮眼!本次使用PyQt5开发一款主打听欧美风歌曲的音乐播放器,软件包含多个页面,支持歌词描边、帅气的播放页,让我们拭目以待!对了,有的读者说我的博客图太多了,最好是能多写一些开发思路,本篇全是干货,请大家放心阅读。二.展示1.启动本次的音乐播放器主打简约风。经过一个splash之后进入我们的软件主页,首页包含多个模块,分别是专辑推荐、单曲推荐、MV推荐、歌手排行。首页下方是歌手排行模块2.MV推荐MV推荐页面随机推荐MV内容,每个内容都是可以点击播放的~3.专辑详情页专辑详情页和歌手详情页头部背景均采用封面模糊化处理4.歌手详情页歌手详情页内部包含多个tab,均可点击,在此不再赘述。5.搜索结果页搜索结果页包含多个类别6.歌曲播放页本次的歌曲播放页经过精心设计,包括明暗两种配色。再来一张嘻嘻7.我喜欢歌曲页8.我喜欢专辑页三.思路&启发1.布局本次开发仍然脱离了QT设计师,所有ui内容都是手搓出来的,拿主界面举个例子,我们把主界面分成多个区域:整体在一个widget上,然后防止堆叠组件,使用不同的“页”控制内容的展示,整体是垂直布局,上方为水平布局,内部为垂直布局,将我们的界面拆成不同的区域(类),方便管理与测试,最后把每个部分拼接起来,实现各自的功能,构成我们软件的主体。老是有朋友问,左侧导航栏控制右侧展示不同内容的需求如何实现,在此介绍一下我的思路把:用按钮+堆栈布局(组件)即可,使用按钮控制堆栈组件(布局)的索引,展示不同的内容。同理,播放页亦是如此。2.细节本次增加了许多细节,我来列举一下吧:1.页面切换效果使用动画2.无边框+阴影+可调整大小窗口3.窗口全屏\恢复切换动画4.歌名(歌手名)滚动效果5.专辑(歌手详情)背景模糊效果6.播放页歌词滚动效果7.特色桌面歌词8.特色对话框3.组件复用为了我们的软件整体风格统一,我这边定义了多个按钮类和标签类,它们具有相同的属性,将配置写入单独的配置文件里,统一管理图标与颜色及样式。4.项目结构PyQt5项目并没有一个规范的项目同一结构,下图是我们项目的项目结构run.pyw是我们软件的入口,其他目录见名知意。5.优化速度本次从代码层面对软件的启动速度、响应速度进行优化:具体来说是:1.NuitkaNuitka优点大致如下:1.显著提高性能:Nuitka通过将Python代码编译成二进制格式,可以显著提高程序的执行速度。由于C++代码的执行效率通常高于Python解释器,因此编译后的程序在执行时会更加快速,能够更有效地利用系统资源。2.减小程序体积:相比其他打包工具,Nuitka生成的执行文件通常体积更小。这是因为Nuitka在编译过程中会优化代码,去除不必要的部分,并将多个模块合并成一个紧凑的可执行文件。3.增强安全性:将Python代码编译成二进制格式还可以增强程序的安全性。由于攻击者难以直接查看或修改编译后的代码,因此逆向工程或篡改程序的难度大大增加。2.采用缓存机制在软件根目录/data/cache/cover下缓存着界面加载的封面数据,因为我们耗时操作大多是由访问接口以及加载封面造成的,访问接口采用线程的方式,在子线程里进行耗时操作,加载图片时,先检测本地是否存在图片,有的话直接从本地读取,否则加载网路图片展示到界面上,之后把图片混存到本地,所以我们软件根目录是越来越大的,用户可以定期清理缓存数据优化存储空间。3.页面索引记录我们的主界面以及子界面是用堆栈组件构成的,比如我们首次点击排行榜页面,需要加载每个排行榜的数据,当我们在此切换到这个页面时,由于已经加载过了,就不会再产生网络请求重复加载了,同理:搜索结果页、歌手详情页…都用了这个思想。四.食用方法安装时,请避免中文、带空格的目录!本次开发软件依赖外部接口,具体来说是依赖node.js提供的接口服务,不过无需担心,笔者已经打包好了。windows用户首先双击运行kill&start.bat,待黑框显示本地服务地址(一般是http://localhost:3000)然后双击exe启动软件即可。五.总结本次和大家分享了我使用PyQt5开发的新音乐播放器,清新的界面你一定会喜欢!欢迎大家下载尝试!近期应该是不会再开发新的播放器了,项目重心放到别的上面了,有时间会和大家分享的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-31 03:23 , Processed in 0.991063 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表