【C++】QT制作简单音乐播放器
QT音乐播放器Mymusic
- 整体布局
- 写ui文件:
- Headers
- Sources
整体布局
创建QT项目,使用Qt5.9版本
分为三栏,最上面放标题和图标,中间放播放的列表,最下面放控制按钮。
引入QT resource file引入所有要用到的图片。
写ui文件:
最上面用label写上标题。
使用list widget写入音乐列表。
button写入上一首歌up,播放play,下一曲next按钮、再写一个label写上正在播放的音乐
使用horizontal spacer设置竖直布局,使用vertical spacer设置水平布局,设置最大最小间距,避免所有的元素连在一起。
向每个控件添加样式表,背景图片,字体颜色等等,添加样式使用到了css。
Headers
里面的mymusic里面,引入QStyleOption以及QPainter,重写私有方法paintEvent。
添加读取文件及界面初始化文件
引用qdir读取文件
引入QlistWidgetItem和media播放音乐
并且声明变量值str_pathmusic,存入音乐入口目录及音乐列表以及是否播放音乐、播放器和播放名称、播放的索引值。
声明插槽:里面写入上一曲、下一曲、播放方法以及获取播放列表的变化。
Sources
在这里面的mymusic.cpp里面写入重写的paintEvent方法,把样式写入Qwidget当中
使用drawPrimitive方法用来画图
接着去写读取文件和初始化界面方法,首先写到主函数里面去调用。
读取文件
1.设置遍历的目录
2.设置过滤器的样式
3.使用过滤器namefilters遍历入口文件entrylist存到列表files中
4.把过滤过的文件添加到界面的listwidget当中,使用additems,并进行名称从小到大排序sortitem。
添加两个语句,使得播放列表指向第一个位置。
为列表添加事件,当前行改变则调用slot里的musiclistrownum方法。
musiclistrownum方法:
1.初始化播放器
2.获取当前位置的文件名,
3.使用setmedia获取文件路径,然后使用play播放
4.获取当前播放文件的索引值
ui初始化方法:为按钮绑定点击事件。
初始化播放器实例,获得当前播放音乐的名称,默认为第一个。
上一曲、下一曲、播放方法:
播放:
1.判断当前是否在播放,正在播放点击后要变成暂停状态,图片改变,状态改变,音乐暂停。
2、暂停状态,点击后要变成播放状态,图片、状态改变,音乐播放。
上一曲:
1.如果当前播放曲目在第一首歌的位置,获取列表的最后一位的位置及文件名,播放最后一首歌,并且更新当前播放曲目所在的索引值。
2.不是第一首歌,那么就获取前一首歌的位置和名称,播放前一首歌,更新当前索引值。
下一曲同上。
【C++】QT制作简单音乐播放器相关推荐
- Android手机应用开发(八) | 制作简单音乐播放器
实验目的 学会使用MediaPlayer 学会简单的多线程编程,使用Handler更新UI 学会使用Service进行后台工作 学会使用Service与Activity进行通信 效果预览 布局 进度条 ...
- python小制作 tkinter 简单音乐播放器
MusicPlayer2.1版本_死非死的博客-CSDN博客 ------------------------------------------------------------------ 这是 ...
- 基于QT的网络音乐播放器(一)
自学Qt已经有一段时间了,但是始终感觉自己还是很弱(其实并不是感觉自己很弱,是自己本来就很弱,哈哈).自己也照着书上敲了几个例子,但觉得还是要写点东西才能真正运用起来.所以,前段时间就写了个很简单的音 ...
- 利用PyQt5制作本地音乐播放器
介绍 本文是对之前的音乐播放器的一些改进和功能实现.只写了有变化的部分,具体部分请看上一篇博客. [利用PyQt5和QSS制作本地音乐播放器(初稿)](https://blog.csdn.net/we ...
- MFC入门-MCI简单音乐播放器实现
MFC入门-MCI简单音乐播放器实现 实现功能: 1) 播放 2) 暂停/恢复 3) 停止 4) 音量调节 实现步骤: 1创建工程 打开VS20 ...
- 简单音乐播放器的设计与实现
简单音乐播放器的设计与实现 本文将介绍如何在Andriod Studio设计制作一个简单音乐播放器 功能说明 第二次安卓开发,所以要求相对上次而言难度稍微加大了一点.该程序实现的主要功能有上一曲, ...
- Android复习02(ListView具体操作[很详细]、简单音乐播放器)
2020年 3月24日 星期二 Android录播回放 笔记[腾讯课堂] https://ke.qq.com/webcourse/index.html#cid=989760&term_id=1 ...
- 安卓java音乐播放器下一曲_Android实现简单音乐播放器(MediaPlayer)
Android实现简单音乐播放器(MediaPlayer),供大家参考,具体内容如下 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个 ...
- iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)
代码地址如下: http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该 ...
最新文章
- 计算机语言学习app,学习之编程语言
- 退休老人有30万资金,如何存款最安全?
- react 生命挂钩_如何在GraphQL API中使用React挂钩来管理状态
- oracle中取反_oracle正则表达式regexp_like的用法详解
- 斐波那契回调线怎么画_Lionheart万汇:斐波那契回调线,实战使用方法和难点
- MapServer使用笔记(一)
- Javascript数组操作
- 计算机课程教改论文,计算机公共课教学改革论文
- iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(一)打ipa包
- 用promise封装ajax_回调、使用Promise封装ajax()、Promise入门
- excel公式编辑器_【软件】公式编辑神器:墨迹公式
- 算法设计与分析期末复习
- matlab函数零点求法,Matlab之函数零点 | 学步园
- 三点确定圆的半径_51CAE_新浪博客
- 1.9w粉丝带动近100w播放量,推广黑马不止一位
- delphi的函数round、trunc、ceil、floor 和RoundTo
- CSDN不友好的收藏夹
- EOS智能合约开发系列(17): 神秘的eosio.code
- 策略路由配置使用.....H3C
- 小米路由器4a千兆版刷固件_小米路由器4A千兆版恢复出厂设置的方法