你调用after()方法后调用的是什么?

时间:2015-03-25 16:25:36

标签: python tkinter

我有以下代码(使用Tkinter),每秒将计数器的值增加1:

import tkinter as tk

def count():
    global counter
    label.config(text=str(counter))
    counter += 1
    label.after(1000, count)

root = tk.Tk()

label = tk.Label(root)
label.pack()

counter = 0 
count()

root.mainloop()

如果我改变它的工作方式是一样的:

label.after(1000, count)

为:

root.after(1000, count)

您对after()的称呼是否重要?如果是这样,在什么情况下会有关系?

1 个答案:

答案 0 :(得分:5)

不,没关系。 after所有小部件上可用的基本小部件方法。实际上,Label.afterTk.after是完全相同的函数对象:

>>> import tkinter
>>> tkinter.Label.after is tkinter.Tk.after
True
>>>

有关所有Tkinter小部件共享的方法的完整列表,请参阅文档中的Basic Widget Methods