1.說明:
1.1 推薦環境:python3.8、微軟vscode編輯器、pygame模塊
1.2 熟悉tkinter的相關布局,gif導入、圖片導入、路徑文件導入,音樂播放和按鈕、标簽的使用。
1.3 推薦指數:★★
2 效果圖:
3.代碼:
#---導出模塊---
from tkinter import *
from tkinter import filedialog
from pygame.locals import *
import pygame
import sys
import os
import time
#---遊戲初始化和窗口的定義、标題、大小設置---
pygame.init()
root = Tk()#窗口
root.title("音樂播放器")#标題
root.geometry("1000x800 400 200")#更改大小和位置
#---gif的動畫設置和插入---
numIdx = 6 # gif的幀數
# 填充6幀内容到frames,注意111.gif路徑
frames = [PhotoImage(file='/home/xgj/Desktop/音樂播放器/111.gif', format='gif -index %i' %(i)) for i in range(numIdx)]
# 定時器函數
def update(idx):
frame = frames[idx]
idx = 1 # 下一幀的序号:在0,1,2,3,4,5之間循環(共6幀)
label.configure(image=frame) # 顯示當前幀的圖片
root.after(100, update, idx%numIdx) # 0.1秒(100毫秒)之後繼續執行定時器函數(update)
label = Label(root)
label.pack()
root.after(0, update, 0) # 立即啟動定時器函數(update)
#---增加背景圖片---注意bj的路徑設置
photo = PhotoImage(file="/home/xgj/Desktop/音樂播放器/bj.png")
theLabel = Label(root,text="歡樂源泉,\n自定義開心",justify=LEFT,
image=photo,compound = CENTER,font=("華文行楷",20),fg = "green")
#個人喜歡用place來布局位置
theLabel.place(x=10,y=500)
#---定義按鈕功能的函數---
def pause():
pygame.mixer.music.pause()
def stop():
pygame.mixer.music.stop()
def start():
pygame.mixer.music.unpause()
def callback():
file = filedialog.askopenfilename()
#調出路徑,打開音樂文件
track = pygame.mixer.music.load(file)
pygame.mixer.music.play()
#---按鈕設置:位置、名字、命令功能等
b = Button(root,text = "選擇音樂",bg='yellow',command = callback)
b.place(x=10,y=10)
f =Button(root,text = "暫停",bg='yellow',command = pause)
f.place(x=10,y=50)
bs =Button(root,text = "繼續",bg='yellow',command = start)
bs.place(x=10,y=90)
bst =Button(root,text = "停止",bg='yellow',command = stop)
bst.place(x=10,y=130)
l = Label(root, text="歡迎來到自定義音樂播放器!",bg='pink',fg='blue')
l.place(x=10,y=180)
#---循環啟動---
root.mainloop()
4.所用到的gif和bg圖:
5.希望喜歡,分享出來,也可以在這基礎上DIY,自己繼續改進和美化。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!