我有以下代码在GUI中的给定标签中显示倒计时。
代码如下:
def countdown(self, a, remaining = None):
if remaining is not None:
self.remaining = remaining
if self.remaining <= 0:
a.configure(text="time's up!")
else:
a.configure(text="%d" % self.remaining)
self.remaining = self.remaining - 1
self.after(1000, self.countdown)
“ a”目前是我将在此函数中输入的标签的占位符变量。我的问题是我不知道如何在通过以下方式重用函数时保持“ a”状态:
self.after(1000, self.countdown)
谢谢!
答案 0 :(得分:2)
根据tkinter文档,after的签名为:
after(delay_ms, callback=None, *args)
因此,您可以将“ a”或“剩余”作为参数传递,并将其收集在位置参数容器* args中,并在函数中使用它们。通过这种方式,您的功能将保持通用。