如何修复Tkinter中的‘name is not defined’错误?
解决Tkinter秒表应用中"name 'label13' is not defined"错误
错误原因
你先调用了countdown(120),但此时label13还未被创建。Python代码按从上到下的顺序执行,当countdown函数第一次运行到label13.config(text = count)时,label13变量还不存在,因此抛出未定义的错误。
修复方案
把countdown(120)的调用语句,移到label13创建并完成布局的代码之后,确保函数执行时label13已经被定义。
修改后的完整代码
from tkinter import Tk, Canvas, Entry, Text, Button, PhotoImage from tkinter import * window = Tk() window.geometry("703x981") window.configure(bg = "#FFFFFF") def countdown(count): # change text in label label13.config(text = count) if count > 0: # call countdown again after 1000ms (1s) window.after(1000, countdown, count-1) # 先创建label13并完成布局 label13 = Label(window, font = "Courier 40 bold", bg="white", fg="black") label13.place(x =29, y=300) # 再调用countdown函数 countdown(120) window.resizable(False, False) window.mainloop()
内容的提问来源于stack exchange,提问作者わんわんワコワコ
相关产品推荐
相关产品推荐

