我遇到了问题,即当我想用计时器关闭窗口时出现错误,我不知道该怎么办:
class App():
def __init__(self):
self.root = Tk()
self.root.geometry("100x50+50+50")
self.done_time=datetime.datetime.now() + datetime.timedelta(seconds=a)
self.label = Label(text="")
self.label.pack()
self.update_clock()
self.root.mainloop()
def update_clock(self):
elapsed = self.done_time - datetime.datetime.now()
h,m,s,fs = elapsed.seconds/3600,elapsed.seconds/60,elapsed.seconds%60,(elapsed.microseconds%60)
#fractional_seconds = math.floor(elapsed.microseconds/1000000.0*100)
self.label.configure(text="%02d:%02d:%02d:%02d"%(h,m,s,fs))
self.root.after(100, self.update_clock)
while s == 0:
self.root.destroy() #====> here is the problem
答案 0 :(得分:1)
要取消挂起的更新,您需要保存对作业ID的引用。然后你可以打电话给<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
(...)
</script>
,如果你的工作是id。
after_cancel