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制作简单音乐播放器相关推荐

  1. Android手机应用开发(八) | 制作简单音乐播放器

    实验目的 学会使用MediaPlayer 学会简单的多线程编程,使用Handler更新UI 学会使用Service进行后台工作 学会使用Service与Activity进行通信 效果预览 布局 进度条 ...

  2. python小制作 tkinter 简单音乐播放器

    MusicPlayer2.1版本_死非死的博客-CSDN博客 ------------------------------------------------------------------ 这是 ...

  3. 基于QT的网络音乐播放器(一)

    自学Qt已经有一段时间了,但是始终感觉自己还是很弱(其实并不是感觉自己很弱,是自己本来就很弱,哈哈).自己也照着书上敲了几个例子,但觉得还是要写点东西才能真正运用起来.所以,前段时间就写了个很简单的音 ...

  4. 利用PyQt5制作本地音乐播放器

    介绍 本文是对之前的音乐播放器的一些改进和功能实现.只写了有变化的部分,具体部分请看上一篇博客. [利用PyQt5和QSS制作本地音乐播放器(初稿)](https://blog.csdn.net/we ...

  5. MFC入门-MCI简单音乐播放器实现

    MFC入门-MCI简单音乐播放器实现 实现功能: 1)        播放 2)        暂停/恢复 3)        停止 4)        音量调节 实现步骤: 1创建工程 打开VS20 ...

  6. 简单音乐播放器的设计与实现

    简单音乐播放器的设计与实现 本文将介绍如何在Andriod Studio设计制作一个简单音乐播放器 功能说明 ​ 第二次安卓开发,所以要求相对上次而言难度稍微加大了一点.该程序实现的主要功能有上一曲, ...

  7. Android复习02(ListView具体操作[很详细]、简单音乐播放器)

    2020年 3月24日 星期二 Android录播回放 笔记[腾讯课堂] https://ke.qq.com/webcourse/index.html#cid=989760&term_id=1 ...

  8. 安卓java音乐播放器下一曲_Android实现简单音乐播放器(MediaPlayer)

    Android实现简单音乐播放器(MediaPlayer),供大家参考,具体内容如下 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个 ...

  9. iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)

    代码地址如下: http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该 ...

最新文章

  1. 计算机语言学习app,学习之编程语言
  2. 退休老人有30万资金,如何存款最安全?
  3. react 生命挂钩_如何在GraphQL API中使用React挂钩来管理状态
  4. oracle中取反_oracle正则表达式regexp_like的用法详解
  5. 斐波那契回调线怎么画_Lionheart万汇:斐波那契回调线,实战使用方法和难点
  6. MapServer使用笔记(一)
  7. Javascript数组操作
  8. 计算机课程教改论文,计算机公共课教学改革论文
  9. iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(一)打ipa包
  10. 用promise封装ajax_回调、使用Promise封装ajax()、Promise入门
  11. excel公式编辑器_【软件】公式编辑神器:墨迹公式
  12. 算法设计与分析期末复习
  13. matlab函数零点求法,Matlab之函数零点 | 学步园
  14. 三点确定圆的半径_51CAE_新浪博客
  15. 1.9w粉丝带动近100w播放量,推广黑马不止一位
  16. delphi的函数round、trunc、ceil、floor 和RoundTo
  17. CSDN不友好的收藏夹
  18. EOS智能合约开发系列(17): 神秘的eosio.code
  19. 策略路由配置使用.....H3C
  20. 小米路由器4a千兆版刷固件_小米路由器4A千兆版恢复出厂设置的方法

热门文章

  1. 从英文变形规则计算到Restful Api设计
  2. C#使用HTTP代理采集HTTPS网站
  3. 在代码中,给java程序自身设置网络代理来爬虫相关站点或使用相关api。
  4. Neural Radiance Caching
  5. 关于OCA,OCP,OCM证书的区别
  6. oracle ocm 招聘,甲骨文Oracle OCM数据库
  7. 广东地区DNS再次瘫痪
  8. Navicat for MySQL下载与安装
  9. 学习51单片机外部总线扩展并口芯片8255
  10. html whitespace属性,不简单的 white-space 属性