2016-04-04 26 views
0

Yinelemeli zamanlayıcıyı durdurmak istiyorum. After_cancel'in argümanı olarak tick kullanılmıyor. "# 2'den sonra" kullanıyorum, eğer doğru zamanda Dönüş'e basarsam.Tkinter root.after_cancel

Burada neleri özlüyorum lütfen?

from Tkinter import * 
root = Tk()    

root.title("Tick")  
root.geometry("320x400") 

def tick():     
    print ("tick!")   
    print root.after(1000, tick) 

def key_pressed(event): 
    if event.keysym == "Return": 
     root.after_cancel(tick) 

root.bind("<Key>", key_pressed) 
root.after(1000, tick) 
mainloop() 

cevap

1

Referansı geçmeniz gerekiyor. Bunu göstermek için hızlı bir düzenleme.

from tkinter import * 
root = Tk()    

root.title("Tick")  
root.geometry("320x400") 

AFTER = None 
def tick():     
    print ("tick!")   
    global AFTER 
    AFTER = root.after(1000, tick) 

def key_pressed(event): 
    if event.keysym == "Return": 
     root.after_cancel(AFTER) 

root.bind("<Key>", key_pressed) 
root.after(1000, tick) 
mainloop()