Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每当我的计时器对象被重置时,Tkinter after()会变得更快_Python_User Interface_Tkinter_Timer_Tk - Fatal编程技术网

Python 每当我的计时器对象被重置时,Tkinter after()会变得更快

Python 每当我的计时器对象被重置时,Tkinter after()会变得更快,python,user-interface,tkinter,timer,tk,Python,User Interface,Tkinter,Timer,Tk,我想用tkinter写一个计时器 这是我的计时器课程 class Timer: def __init__(self, root, cv): self.sec = 0 self.stop = 0 self.label = tk.Label(root, width = 15, height = 1, text = "time:"+"{}".format(str(self.sec))+"s", bg= "Gh

我想用tkinter写一个计时器

这是我的计时器课程

class Timer:
def __init__(self, root, cv):
    self.sec = 0
    self.stop = 0
    self.label = tk.Label(root, width = 15, height = 1, text = "time:"+"{}".format(str(self.sec))+"s", bg= "GhostWhite")
    self.label.config(font = ("helvetica", 8))
    cv.create_window(300, 14, window = self.label)
    self.label.after(1000, self.refresh)

def refresh(self):
    self.sec += 1
    self.label.configure(text="time:"+"{}".format(str(self.sec))+"s")
    if self.stop == 0:
        self.label.after(1000, self.refresh)
        
def halt(self):
    self.stop = 1
    
def reset(self):
    self.sec = 0
    self.stop = 0
    self.label.after(1000, self.refresh)
问题是,每次调用重置方法时,计时器运行得更快。 我试图找出问题所在,但我看不出有什么不对劲。
有什么想法吗?

不需要在
reset()
内部调用
after()
。啊,是的,这就是重点,谢谢提醒