界面分析 - 上
上方:图标,搜索框,功能按钮
左侧:文本显示,自定义按钮,点击自定义按钮的时候,最底下播放条不变,右侧界面随着按钮的改变而改变
右侧:文本信息显示,图片+按钮,信息展示,列表框
界面上控件比较多,归类之后主要分为两部分:head区和body区
head区域从左往右依次为:图标,搜索框,更换皮肤按钮,最小化,最大化,退出按钮
body区域分为左侧种类选择区域和右侧Page展示区域
Body左侧区域有两部分组成:在线音乐和我的音乐,这两部分内部的控件种类是相同的
①说明区域,实际为QLabel
②自定义控件(按钮的扩展): 图片+文本+动画
③同②,自定义控件(按钮的扩展): 图片+文本+动画
④同②,自定义控件(按钮的扩展): 图片+文本+动画
Body右侧区域由:Page区,播放进度条,播放控制区三部分区域组成
① Page区: 歌曲信息页面,点击 < 或 > 具有轮播图效果
② 播放进度: 当前歌曲播放进度说明,支持seek功能,与播放控制区时间,以及LRC歌词是同步的
③ 播放控制区域: 显示歌曲图片&名称&歌手、
播放模式 & 下一曲 & 播放暂停 & 上一曲 & 音量调节和静音 & 添加本地音乐、
当前播放时间 / 歌曲总时长 & 弹出歌词窗口按钮
【Page区说明】
当点击body左侧不同按钮时,Page区域会显示不同的页面。
Body左侧按钮 | Body右上侧Page显示 |
推荐按钮 | ![]() |
乐馆按钮 | 暂不支持 |
视频按钮 | 暂不支持 |
雷达按钮 | 暂不支持 |
我喜欢按钮 | ![]() |
最近播放按钮 | ![]() |
本地下载按钮 | ![]() |
Body右侧目前支持的4个页面结构,整体的布局都是相同的,唯独Page区域现实的内容稍有区别,推荐页面具有类似轮播图的动态效果
整个页面内容可以分为上下两组:今日为你推荐、你的歌单宝藏库,两组的布局关际是相同的,元素说明:
- 上方显示1行,内部有4个推荐元素;下方显示2行,每行有4个推荐元素
- 左右两侧一个按钮,点击后推荐内容会更换下一批,不停点击会循环推荐
- 当鼠标悬停在推荐元素上时,推荐元素会向上移动,当鼠标离开时,又回到原位置
- 当鼠标悬停在推荐元素上时,同时会出现小手图标,说明该推荐元素具有点击功能
该页面中内容也为自定义元素,后序页面实现时具体分析。
我喜欢,本地下载,最近播放类似下图:
① QLabel: 类型说明
② QLabel: 图片显示
③ QButton: 播放全部按钮
④ 一组QLabel说明: 音乐、歌手、专辑
⑤ QListWidget: 播放列表
可以通过自定义控件的方式,将①~⑤的控件集成到一起形成一个新的控件,方便复用,因此这三个Page属于同一个自定义类型的Page。
这六个页面,将来也QStackedWidget控件组织起来,就可以实现点击不同按钮,显示不同页面效果。
【歌词页面】
解析当前正在播放音乐的歌词,同步显示在界面上。
显示内容分为:歌曲信息、歌词部分、左上方收起隐藏按钮。
- 歌曲信息由歌曲名称(QLabel)和歌手名称(QLabel)构成
- 歌词部分展示当前在唱歌词(QLabel)和在唱部分前三行和后三行歌词(QLabel)展示,当前播放 歌词突出显示
- 点击收起按钮后,该页面会以动画的方式收起
当歌曲有LRC歌词时,播放时歌词会随播放时间自动调整;歌曲没有LRC歌词时,歌词部分显示空字符。
以上对本项目的界面进行了简单的说明,大家先有个初步了解,接下来利用QT Designer完成界面的布局。