Python | Binding function in Tkinter

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
# Import all files from# tkinter and overwrite# all the tkinter files# by tkinter.ttkfrom tkinter import *from tkinter.ttk import * # creates tkinter window or root windowroot = Tk()root.geometry('200x100') # function to be called when mouse enters in a framedef enter(event):    print('Button-2 pressed at x = % d, y = % d'%(event.x, event.y)) # function to be called when mouse exits the framedef exit_(event):    print('Button-3 pressed at x = % d, y = % d'%(event.x, event.y)) # frame with fixed geometryframe1 = Frame(root, height = 100, width = 200) # these lines are showing the# working of bind function# it is universal widget methodframe1.bind('<Enter>', enter)frame1.bind('<Leave>', 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.ttkfrom tkinter import *from tkinter.ttk import * # creates tkinter window or root windowroot = Tk()root.geometry('200x100') # function to be called when button-2 of mouse is presseddef 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 presseddef pressed3(event):    print('Button-3 pressed at x = % d, y = % d'%(event.x, event.y)) ## function to be called when button-1 is double clockeddef 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 widgetframe1.bind('<Button-2>', pressed2)frame1.bind('<Button-3>', 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.ttkfrom tkinter import *from tkinter.ttk import * # function to be called when# keyboard buttons are presseddef key_press(event):    key = event.char    print(key, 'is pressed') # creates tkinter window or root windowroot = Tk()root.geometry('200x100') # here we are binding keyboard# with the main windowroot.bind('<Key>', 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). 
brycepaulguinta
rs1686740
sagartomar9927
Python-gui
Python-tkinter
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Read JSON file using Python
Adding new column to existing DataFrame in Pandas
Python map() function
How to get column names in Pandas dataframe
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
Iterate over a list in Python