Python简易音乐播放器

2019-01-22 11:48:54 / 打印

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

Python图形界面

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

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

from tkinter import *root = Tk()root.mainloop()

Text文本组件

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

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

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

呢://呢.KMPlayer pro-吗 (版积极能够)

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

代码下载

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

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

思路总结

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

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

写给新手

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

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

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