Event unbinding and virtual events

In addition to the bind method that you previously saw, you might find the following two event-related options useful in certain cases:

  • unbind: Tkinter provides the unbind option to undo the effect of an earlier binding. The syntax is as follows:
    widget.unbind(event)

    The following are some examples of its usage:

    entry.unbind('<Alt-Shift-5>')
    root.unbind_all('<F1>')
    root.unbind_class('Entry', '<KeyPress-Del>')
  • Virtual events: Tkinter also lets you create your own events. You can give these virtual events any name that you want.

    For example, let's suppose that you want to create a new event called <<commit>>, which is triggered by the F9 key. To create this virtual event on a given widget, use the following syntax:

    widget.event_add('<<commit>>', '<KeyRelease-F9>')
  • You can then bind <<commit>> to a callback by using a normal bind() method, as follows:
    widget.bind('<<commit>>', callback)

Other event-related methods can be accessed by typing the following line in the Python terminal:

>>> import tkinter
>>> help(tkinter.Event)

Now that you are ready to dive into real application development with Tkinter, let's spend some time exploring a few custom styling options that Tkinter offers. We will also have a look at some of the configuration options that are commonly used with the root window.