前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python简易音乐播放器

Python简易音乐播放器

作者头像
TTTEED
发布2020-07-08 18:30:24
发布2020-07-08 18:30:24
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

上一篇介绍了点阵字展现动态歌词,后续的思路有一条是添加图形界面。这两天搜了下tkinter图形界面的帖子,做了个简单的播放器界面,听首《盗将行》感受下效果吧

Python图形界面

图形界面(GUI),即以图形方式显示计算机操作用户界面。

Python支持第三方库来实现图形界面,例如Tk、wxWidgets及Qt等。其中,Python自带的库支持Tk,可以在代码中直接调用内置的Tkinter:

代码语言:javascript
代码运行次数:0
运行
复制
from tkinter import *
代码语言:javascript
代码运行次数:0
运行
复制
root = Tk()
代码语言:javascript
代码运行次数:0
运行
复制
root.mainloop()

Text文本组件

上一篇已经实现了将歌词动态转化为点阵信息,那么如何将点阵在图形界面中展示呢?

一番权衡,我选择了拿每个字的点阵信息来填充一个独立的Text文本组件的方法,即每个16*16的点阵字数据对应一个16行32列的Text文本框。播放歌曲时,动态将歌词文字的点阵信息通过insert方法填充到组件中以显示在图形界面中

多线程

图形界面是通过mainloop()循环显示的,之前通过time.sleep()来延时展现歌词文本的思路就行不通了。

我暂时想到的是多线程方案,由于了解不深、漏洞较大,留作以后修正。目前是通过多线程的threading.Timer()来设置延时线程任务,向图形界面更新歌词内容以展现。

代码下载

此外,代码中还涉及比较琐碎的Tkinter插入图片、按钮、输入框、滚动条等,后台回复 播放器 获取代码github下载链接

目前代码还有挺多要改进的细节,后续会继续更新。

思路总结

其实这个代码最初只是想通过print来实现点阵字,实现了之后又想加一些应用场景。于是就往动态展现歌词方向靠拢,这个功能得到初步解决后就要面临输出展示方式的问题,所以又引出这篇中关于图形界面的实现。

现在回顾,有种莫名其妙做了个播放器的感觉,以后还是应该先定方向再来将其细节化比较好吧。

写给新手

你看,Python入门阶段的编码并不难,想要实现某个功能,搜索相关内容,理解思路后自己照着把代码写出来,有了新的想法继续添加完善,慢慢地聚合为一个“小项目”。

当然,基础知识的学习是必须的,不然每次做项目写代码都去查,效率太低;而且基础扎实了,更容易产生新奇简介的思路,是非常有成就感的。

学习Python,只是缺一个理由来开始,一个理由来坚持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TTTEED 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档