Tkinter Events
So far, we’ve seen only
the most elementary kind of event handling: the callbacks performed
on callables installed with the command= option of
buttons and menu entries of various kinds. Tkinter
also lets you install callables to call back when needed to handle a
variety of events. However, Tkinter does not let
you create your own custom events; you are limited to working with
events predefined by Tkinter
itself.
The Event Object
General event callbacks must accept one
argument event that is a
Tkinter event object. Such an event object has
several attributes describing the event:
-
char A single-character string that is the key’s code (only for keyboard events)
-
keysym A string that is the key’s symbolic name (only for keyboard events)
-
num Button number (only for mouse-button events);
1and up-
x,y Mouse position, in pixels, relative to the upper left corner of the widget
-
x_root,y_root Mouse position, in pixels, relative to the upper left corner of the screen
-
widget The widget in which the event has occurred
Binding Callbacks to Events
To bind a callback to an event in a widget
w, call
w
.bind, describing the
event with a string, usually enclosed in angle brackets
('<...>'). The following example prints
'Hello
World' each time the
user presses the Enter key:
from Tkinter import *
root = Tk( )
def greet(*ignore): print 'Hello World'
root.bind('<Return>', greet)
root.mainloop( )Method tag_bind of classes
Canvas and Text, covered earlier in this chapter, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access