Why does it say "TypeError: 'Label' object is not callable"?
Why does it say "TypeError: 'Label' object is not callable"?
我正在制作一个数字时钟 python 程序,不知道为什么它说“类型错误:'Label' 对象不可调用”行:
digital_clock_lbl(1000, update_clock)
我看了一个 yt 视频,我就是从那里获得代码的。
那里的人没有问题,但我有。
我在stack overflow上查了别人的答案,他们说不要把我们的变量命名为“Label”,因为可能会出错,但我没有。
import tkinter as ui
import time
window = ui.Tk()
def update_clock():
hours = time.strftime("%I")
minutes = time.strftime("%M")
seconds = time.strftime("%S")
am_or_pm = time.strftime("%p")
time_text = hours + ":" + minutes + ":" + seconds + " " + am_or_pm
digital_clock_lbl.config(text = time_text)
digital_clock_lbl(1000, update_clock)
digital_clock_lbl = ui.Label(window,text="00:00:00",font="Helvetica 72 bold")
digital_clock_lbl.pack()
update_clock()
window.mainLoop()
digital_clock_lbl(1000, update_clock)
没有意义。我猜你是想制作一个实时时钟,所以我认为你需要
使用 .after
方法 - window.after(1000,update_clock)
试试这个 -
import tkinter as ui
import time
window = ui.Tk()
def update_clock():
hours = time.strftime("%I")
minutes = time.strftime("%M")
seconds = time.strftime("%S")
am_or_pm = time.strftime("%p")
time_text = hours + ":" + minutes + ":" + seconds + " " + am_or_pm
digital_clock_lbl.config(text = time_text)
window.after(1000,update_clock) # Here is the change
digital_clock_lbl = ui.Label(window,text="00:00:00",font="Helvetica 72 bold")
digital_clock_lbl.pack()
update_clock()
window.mainloop()
此外,您在最后一行有错字 - window.mainLoop
应该是小写的 window.mainloop()
我正在制作一个数字时钟 python 程序,不知道为什么它说“类型错误:'Label' 对象不可调用”行:
digital_clock_lbl(1000, update_clock)
我看了一个 yt 视频,我就是从那里获得代码的。 那里的人没有问题,但我有。 我在stack overflow上查了别人的答案,他们说不要把我们的变量命名为“Label”,因为可能会出错,但我没有。
import tkinter as ui
import time
window = ui.Tk()
def update_clock():
hours = time.strftime("%I")
minutes = time.strftime("%M")
seconds = time.strftime("%S")
am_or_pm = time.strftime("%p")
time_text = hours + ":" + minutes + ":" + seconds + " " + am_or_pm
digital_clock_lbl.config(text = time_text)
digital_clock_lbl(1000, update_clock)
digital_clock_lbl = ui.Label(window,text="00:00:00",font="Helvetica 72 bold")
digital_clock_lbl.pack()
update_clock()
window.mainLoop()
digital_clock_lbl(1000, update_clock)
没有意义。我猜你是想制作一个实时时钟,所以我认为你需要
使用 .after
方法 - window.after(1000,update_clock)
试试这个 -
import tkinter as ui
import time
window = ui.Tk()
def update_clock():
hours = time.strftime("%I")
minutes = time.strftime("%M")
seconds = time.strftime("%S")
am_or_pm = time.strftime("%p")
time_text = hours + ":" + minutes + ":" + seconds + " " + am_or_pm
digital_clock_lbl.config(text = time_text)
window.after(1000,update_clock) # Here is the change
digital_clock_lbl = ui.Label(window,text="00:00:00",font="Helvetica 72 bold")
digital_clock_lbl.pack()
update_clock()
window.mainloop()
此外,您在最后一行有错字 - window.mainLoop
应该是小写的 window.mainloop()