我正在嘗試創建一個帶有日期和時間的時鐘,但它會在幾秒鐘后掛起。我想知道為什么它掛起并且沒有回應。
from tkinter import *
from tkinter.ttk import *
from time import strftime
root = Tk()
root.title('Clock')
root.config(bg='orange')
def time():
string = strftime('%I:%M:%S %p ')
string2 = strftime('%A %d-%b-%Y')
lbl.config(text=string)
lbl.after(1000, time)
lbl2.config(text=string2)
lbl2.after(1000, time)
lbl = Label(root, font=('calibri', 50, 'bold'),
background='orange',
foreground='white')
lbl2 = Label(root, font=('calibri', 25, 'bold'),
background='orange',
foreground='white')
lbl.pack(anchor='center')
lbl2.pack(anchor='center')
time()
mainloop()
uj5u.com熱心網友回復:
after每次被呼叫時,您要呼叫兩次time。因此,您第一次呼叫它,它會將兩個命令放入after佇列中。佇列中的第一個專案被拉出并運行,并將另外兩個呼叫放入佇列中。現在有三個在佇列中。下一個呼叫被從佇列中拉出,所以還剩下兩個,但是它添加了兩個,所以現在有四個。它減少了一個但增加了兩個,所以現在有五個,然后是六個,然后是七個,等等。最終,你可以有數百或數千人排隊。
您只需要在其中呼叫after一次,time以便每次取下一項時在佇列中添加一項。
def time():
string = strftime('%I:%M:%S %p ')
string2 = strftime('%A %d-%b-%Y')
lbl.config(text=string)
lbl2.config(text=string2)
lbl.after(1000, time)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/492990.html
上一篇:調整影像大小后質量下降
下一篇:Tkinter按鈕小部件
