Python | Binding function in Tkinter (original) (raw)

Last Updated : 10 May, 2022

Tkinter is a GUI (Graphical User Interface) module that is widely used in desktop applications. It comes along with the Python, but you can also install it externally with the help of pip command.
It provides a variety of Widget classes and functions with the help of which one can make our GUI more attractive and user-friendly in terms of both looks and functionality.
The binding function is used to deal with the events. We can bind Python’s Functions and methods to an event as well as we can bind these functions to any particular widget.
Code #1: Binding mouse movement with tkinter Frame.

Python3

from tkinter import *

from tkinter.ttk import *

root = Tk()

root.geometry( '200x100' )

def enter(event):

`` print ( 'Button-2 pressed at x = % d, y = % d' % (event.x, event.y))

def exit_(event):

`` print ( 'Button-3 pressed at x = % d, y = % d' % (event.x, event.y))

frame1 = Frame(root, height = 100 , width = 200 )

frame1.bind( '<Enter>' , enter)

frame1.bind( '<Leave>' , exit_)

frame1.pack()

mainloop()

Output:

https://media.geeksforgeeks.org/wp-content/uploads/20190402212137/working_of_bind_fucntion_with_mouse_event.mp4

Code #2: Binding Mouse buttons with Tkinter Frame

Python3

from tkinter import *

from tkinter.ttk import *

root = Tk()

root.geometry( '200x100' )

def pressed2(event):

`` print ( 'Button-2 pressed at x = % d, y = % d' % (event.x, event.y))

def pressed3(event):

`` print ( 'Button-3 pressed at x = % d, y = % d' % (event.x, event.y))

def double_click(event):

`` print ( 'Double clicked at x = % d, y = % d' % (event.x, event.y))

frame1 = Frame(root, height = 100 , width = 200 )

frame1.bind( '<Button-2>' , pressed2)

frame1.bind( '<Button-3>' , pressed3)

frame1.bind( '<Double 1>' , double_click)

frame1.pack()

mainloop()

Output:

https://media.geeksforgeeks.org/wp-content/uploads/20190402212646/working_of_bind_fucntion_with_mouse_click.mp4

Code #3: Binding keyboard buttons with the root window (tkinter main window).

Python3

from tkinter import *

from tkinter.ttk import *

def key_press(event):

`` key = event.char

`` print (key, 'is pressed' )

root = Tk()

root.geometry( '200x100' )

root.bind( '<Key>' , key_press)

mainloop()

Output:

https://media.geeksforgeeks.org/wp-content/uploads/20190402230107/binding_keyboard_buttons_with_tkinter.mp4

Note: When we bind keyboard buttons with the tkinter window, whenever we press special characters we will only get space while in the case of alphabets and numerical we will get actual values (in the string).

Similar Reads

Introduction






Widgets













































Geometry Management









Binding Functions




Working with Images in Tkinter






Tkinter Advance




















Applications and Projects