并没有怎么学习过Python,所以程序看起来写的很杂乱。但是也能大体上完成我期望的功能,最后的结果也蛮让我满意的。另外,软件并没有经历各种的测试,有问题还请包涵。先看效果:
一、界面显示
在界面设计中使用的是Python的Tkinter模块,该模块python自带,无需自己安装,并且体积小,使用起来也十分方便。
if __name__ == "__main__":
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title('My Music')
# 第3步,设定窗口的大小(长 * 宽)
window.geometry('500x150') # 这里的乘是小x
window1 = tk.Frame(window) # 主窗口创建框架1
window1.pack()
window_one(window1) # 框架1具体配置
# 音乐名需要变化
musicName = tk.StringVar()
musicName.set("null")
# 播放按键需要变化
startText = tk.StringVar()
startText.set("播放")
# 进度需要变化
jindu = tk.StringVar()
jindu.set("00:00")
# 播放模式设置
mode = tk.StringVar()
mode.set("顺序")
window2 = tk.Frame(window) # 主窗口创建框架2
window_two(window2) # 框架2具体配置
# 禁止用户调整窗口大小
window.resizable(False, False)
# 第6步,主窗口循环显示
window.mainloop()
# 注意,loop因为是循环的意思,window.mainloop就会让window不断的刷新,如果没有mainloop,就是一个静态的window,传入进去的值就不会有循环,mainloop就相当于一个很大的while循环,有个while,每点击一次就会更新一次,所以我们必须要有循环
# 所有的窗口文件都必须有类似的mainloop函数,mainloop是窗口文件的关键的关键。
接下来是对主窗口的框架1具体配置信息,框架1主要用于选择歌曲文件夹,选择文件夹后会框架1就会被销毁,继而打开框架2。
def window_one(window1): # 加载音乐
var = tk.StringVar() # 将label标签的内容设置为字符类型,用var来接收hit_me函数的传出内容用以显示在标签上
var.set('请选择音乐所在文件夹')
# 第4步,在图形界面上设定标签
l = tk.Label(window1, textvariable=var, font=('Arial', 12), width=500, height=2)
# 说明: bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高
# 第5步,放置标签
l.pack(expand='True',pady='15') # Label内容content区域放置位置,自动调节尺寸
# 放置lable的方法有:1)l.pack(); 2)l.place();
# 第5步,在窗口界面设置放置Button按键
b = tk.Button(window1, text='选择文件夹', font=('Arial', 12), width=10, height=1, command=hit_me)
b.pack(expand='True')
下图是框架1界面图:

框架2用于歌曲的播放:
def window_two(window2):
global pro1
musicLabel = tk.Label(window2, textvariable=musicName, font=('Arial', 12), width=500, height=2)
musicLabel.pack(expand='True')
# 进度条显示部分
jinduLabel = tk.Label(window2, textvariable=jindu, font=('Arial', 10), width=10, height=2)
pro1 = ttk.Progressbar(window2, length=450, cursor='spider', mode="determinate", orient=tk.HORIZONTAL)
pro1.pack(padx='2')
jinduLabel.pack()
# 按键部分
start = tk.Button(window2, textvariable=startText, font=('Arial', 12), width=12, height=1, command=Tostart)
next = tk.Button(window2, text='下一曲', font=('Arial', 12), width=12, height=1, command=Tonext)
last = tk.Button(window2, text='上一曲', font=('Arial', 12), width=12, height=1, command=Tobefore)
setloop = tk.Button(window2, textvariable=mode, font=('Arial', 12), width=12, height=1, command=Toloop)
start.pack(side='left',padx='1',expand

最低0.47元/天 解锁文章
438

被折叠的 条评论
为什么被折叠?



