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

Last Updated : 11 Jul, 2025

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 `

Import all files from

tkinter and overwrite

all the tkinter files

by tkinter.ttk

from tkinter import * from tkinter.ttk import *

creates tkinter window or root window

root = Tk() root.geometry('200x100')

function to be called when mouse enters in a frame

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

function to be called when mouse exits the frame

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

frame with fixed geometry

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

these lines are showing the

working of bind function

it is universal widget method

frame1.bind('', enter) frame1.bind('', exit_)

frame1.pack()

mainloop()

`

Output:

Code #2: Binding Mouse buttons with Tkinter Frame

Python3 `

Import all files from

tkinter and overwrite

all the tkinter files

by tkinter.ttk

from tkinter import * from tkinter.ttk import *

creates tkinter window or root window

root = Tk() root.geometry('200x100')

function to be called when button-2 of mouse is pressed

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

function to be called when button-3 of mouse is pressed

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

function to be called when button-1 is double clocked

def double_click(event): print('Double clicked at x = % d, y = % d'%(event.x, event.y))

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

these lines are binding mouse

buttons with the Frame widget

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

frame1.pack()

mainloop()

`

Output:

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

Python3 `

Import all files from

tkinter and overwrite

all the tkinter files

by tkinter.ttk

from tkinter import * from tkinter.ttk import *

function to be called when

keyboard buttons are pressed

def key_press(event): key = event.char print(key, 'is pressed')

creates tkinter window or root window

root = Tk() root.geometry('200x100')

here we are binding keyboard

with the main window

root.bind('', key_press)

mainloop()

`

Output:

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).