Skip to content
Related Articles

Related Articles

Improve Article

Looping through buttons in Tkinter

  • Difficulty Level : Expert
  • Last Updated : 26 Mar, 2021
Geek Week

In this article, let’s see how we can loop through the buttons in Tkinter.

Stepwise implementation:

Step 1: Import the Tkinter package and all of its modules and create a root window (root = Tk()).

Python3




# Import package and it's modules
from tkinter import *
  
# create root window
root = Tk()
  
# root window title and dimension
root.title("GeekForGeeks")
  
# Set geometry (widthxheight)
root.geometry('400x400')
  
# Execute Tkinter
root.mainloop()

Output



Step 2: Now let’s add a Entry() class and will display the button name as soon as one of the buttons is clicked.

Python3




# Import package and it's modules
from tkinter import *
  
# create root window
root = Tk()
  
# root window title and dimension
root.title("GeekForGeeks")
  
# Set geometry (widthxheight)
root.geometry('400x400')
  
# Entry Box
text = Entry(root, width = 30, bg = 'White')
text.pack(pady = 10)
  
# Execute Tkinter
root.mainloop()

Output  

Step 3: Now let’s create an empty dictionary (button_dict) to save all the button objects and a list consisting of names of all the buttons. Now loop over each item of the list to create an button object of it and store it in the dictionary. For the button command, create a function named ‘action’ and for each button call the text_update() function to update the changes in the entry in Entry() object created earlier.

Python3




# Import package and it's modules
from tkinter import *
  
  
# text_update function
def text_updation(language):
    text.delete(0, END)
    text.insert(0, language)
  
# create root window
root = Tk()
  
# root window title and dimension
root.title("GeekForGeeks")
  
# Set geometry (widthxheight)
root.geometry('400x400')
  
# Entry Box
text = Entry(root, width=30, bg='White')
text.pack(pady=10)
  
# create buttons
button_dict = {}
words = ["Python", "Java", "R", "JavaScript"]
for lang in words:
    
    # pass each button's text to a function
    def action(x = lang): 
        return text_updation(x)
        
    # create the buttons 
    button_dict[lang] = Button(root, text = lang,
                               command = action)
    button_dict[lang].pack(pady=10)
  
# Execute Tkinter
root.mainloop()

Output

loop through button tkinter

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :