2016-03-31 30 views
0

我試圖做一個程序,當我按下窗口上的逃生出現一個標籤「你按Escape」。我的逃生事件不起作用

from tkinter import * 

class the_Esc_test(Frame): 
    def __init__(self): 
     Frame.__init__(self) 
     self.start_number=0 
     self.pack(expand=YES, fill=BOTH) 
     self.master.title("Esc program") 
     self.master.geometry ("600x600") 

     self.bind("<Escape>", self.EscPressed) 

    def EscPressed(self): 
    self.start_number+=1 
    if self.start_number==1: 
     self.lbl1=Label(self, text="You pressed Escape") 
     self.lbl1.grid(row=6, column=6, sticky=W) 

    elif self.start_number==2: 
     self.lbl1.grid_forget() 
     self.start_number=0 

start=the_Esc_test() 

它不起作用,但Python不會顯示任何錯誤。

有人可以告訴我爲什麼嗎?

+2

工作,當用戶按下_enter_,或_escape_?你的描述說一個,代碼說另一個。 –

+0

對不起,我無意中寫了回車 –

回答

1

我能得到它,像這樣

from Tkinter import * 

class the_Esc_test(Frame): 
    def __init__(self): 
     Frame.__init__(self) 
     self.start_number=0 
     self.pack(expand=YES, fill=BOTH) 
     self.master.title("Esc program") 
     self.master.geometry ("600x600") 

     self.master.bind("<Escape>", self.EscPressed) 

    def EscPressed(self, event): 
     print "called", event.keysym 

start=the_Esc_test() 
start.mainloop()