我的逃生事件不起作用

时间:2016-03-31 15:56:58

标签: python tkinter

我试图创建一个程序,当我在窗口上按下escape时出现一个标签"你按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不会显示任何错误。

有人能告诉我原因吗?

1 个答案:

答案 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()