這是更好的方法,特別是因為after(n)在給定的時間段內凍結程序。創建一個接受數字并顯示該數字的函數。然后,它減去一,然后重新安排自己在未來運行一秒鐘,直到數字變為零。 def timer(t): global timerdisplay c.delete(timerdisplay) timerdisplay = c.create_text(200, 12, text=t) if t >= 1: c.after(1000, timer, t-1)timer(timerdisplay, 10) 要對此進行優化,可以將畫布項與編號一起傳遞。您也可以只重新配置文本項,而不是刪除和恢復它。 def timer(timerdisplay, t): c.itemconfigure(timerdisplay, text=t) if t >= 1: c.after(1000, timer, timerdisplay, t-1)timerdisplay = c.create_text(200, 12)timer(timerdisplay, 10)