我会数数字,但我不会在标签上倒计时
Tkinter回调回溯中的异常(最近一次调用):文件“C:\Program-Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\tkinter_init_.py”,第1921行, call 返回self.func(*args)文件"C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\tkinter_init_.py",行839,以callit
func(*args) TypeError: counter_label()缺少一个必需的位置参数:‘label’
import tkinter as tk
counter = 0
status = 1
def counter_label(label):
global status
def countup():
global counter
counter += 1
label.after(1000, countup)
def countdown():
global counter
counter -=1
# for num in range(start,0,-1):
# print(num)
label.after(1000,countdown)
if status == 1:
countup()
if counter == 11:
status = 0
if status == 0:
countdown()
if counter == 0:
status = 1
label.config(text=str(counter))
label.after(1000,counter_label)
print(counter)
root = tk.Tk()
root.title("Counting Seconds")
label = tk.Label(root, fg="green")
label.pack()
counter_label(label)
root.mainloop()发布于 2022-11-21 17:41:55
递归调用
label.after(1000,counter_label)可以修改为包含带有匿名函数的标签参数。
label.after(1000,lambda x=label: counter_label(x))https://stackoverflow.com/questions/74522773
复制相似问题