widget命令中的bind方法允许您监视某些事件,并在发生该事件类型时触发回调函数。绑定方法的形式为:

    1. def bind(self, sequence, func, add=''):

    其中:
    sequence
    是表示事件的目标类型的字符串。(见绑定手册页和201页约翰Ousterhout的书)。
    func
    是一个Python函数,采用一个参数,在事件发生时调用。事件实例将作为参数传递。(以这种方式部署的函数通常称为回调。)
    add
    是可选的,“” 或 “+”。传递空字符串表示此绑定用于替换与此事件关联的任何其他绑定。传递 “+” 表示将此函数添加到绑定到此事件类型的函数列表中。
    例如:

    1. def turn_red(self, event):
    2. event.widget["activeforeground"] = "red"
    3. self.button.bind("<Enter>", self.turn_red)

    请注意如何在turn_red() 回调中访问事件的窗口小部件字段。此字段包含捕获X事件的小部件。下表列出了您可以访问的其他事件字段,以及它们在Tk中的表示方式,这在引用Tk手册页时很有用。

    Tk Tkinter Event Field Tk Tkinter Event Field
    %f 焦点 %A char
    %h height %E send_event
    %k keycode %K keysym
    %s 状况 %N keysym_num
    %t time %T 类型
    %w 宽度 %W widget
    %x x %X x_root
    %y y %Y y_root