1.通过tk创建一个ui界面,内含输入框(输入你需要的倒计时时间)、按钮(确认按钮,回调函数获取输入框的值,在按钮下的文本对象进行倒计时)、文本框(进行倒计时效果)。
2.这里通过写一个按钮的回调函数countdown(),在文本对象txt内不断插入、删除、减1,从而达到倒计时的效果。
关键代码:
def countdown():
s= int(inp1.get())
while s > 0:
txt.insert(tk.END, s-1)
time.sleep(1)
txt.update()
txt.delete(0.0, tk.END) # 清空输出
s = s-1
完整代码:
import tkinter as tk
import time
from pygame import mixer
def countdown():
s= int(inp1.get())
while s > 0:
txt.insert(tk.END, s-1)
time.sleep(1)
txt.update()
txt.delete(0.0, tk.END) # 清空输出
s = s-1
if __name__=="__main__":
#设置倒计时间
root = tk.Tk()
label = tk.Label(root, width=30,height=30)
label.pack(padx=20, pady=30)
p=tk.StringVar()
inp1 =tk.Entry(root,textvariable=p) # 建立一个输入框inp1,用以获取倒计时的时间
inp1.place(relx=0.1, rely=0.2, relwidth=0.8, relheight=0.1) # 调整inp1的位置
btn1 = tk.Button(root, text='点击开始计时',command=countdown,default="active")
btn1.place(relx=0.1, rely=0.3, relwidth=0.8, relheight=0.1)
txt = tk.Text(root)
txt.place(rely=0.6, relheight=0.4)
root.mainloop()
print("ok")