Bucle a través de botones en Tkinter

En este artículo, veamos cómo podemos recorrer los botones en Tkinter.

Implementación paso a paso:

Paso 1: Importe el paquete Tkinter y todos sus módulos y cree una ventana raíz (raíz = 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()

Producción

Paso 2: ahora agreguemos una clase Entry() y mostraremos el nombre del botón tan pronto como se haga clic en uno de los botones.

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

Producción  

Paso 3: Ahora vamos a crear un diccionario vacío (button_dict) para guardar todos los objetos de botón y una lista que consta de los nombres de todos los botones. Ahora recorra cada elemento de la lista para crear un objeto de botón y almacenarlo en el diccionario. Para el comando de botón, cree una función llamada ‘acción’ y para cada botón llame a la función text_update() para actualizar los cambios en la entrada en el objeto Entry() creado anteriormente.

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

Producción

loop through button tkinter

Publicación traducida automáticamente

Artículo escrito por pulkit12dhingra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *