¿Cómo pasar argumentos al comando del botón Tkinter?

Tkinter es la biblioteca GUI estándar para Python. Tkinter es la interfaz de Python para el kit de herramientas GUI de Tk que se incluye con Python. Proporciona un conjunto de herramientas de ventanas robusto e independiente de la plataforma, que está disponible para los programadores de Python que usan este paquete. Python, cuando se combina con Tkinter, proporciona una forma rápida y fácil de crear aplicaciones GUI. Tkinter proporciona una poderosa interfaz orientada a objetos para el kit de herramientas Tk GUI.

  • Importar paquete tkinter.
  • Cree una ventana raíz. Asigne a la ventana raíz un título (usando title()) y una dimensión (usando geometría()).
  • Crea un botón usando (Button()).
  • Use mainloop() para llamar al bucle sin fin de la ventana.

Estos pasos siguen siendo los mismos para ambos métodos, lo único que debe cambiarse es cómo aplicar estos dos métodos.

Método 1: Usar la función lambda

Python3

# importing tkinter
import tkinter as tk
 
# defining function
 
 
def func(args):
    print(args)
 
 
# create root window
root = tk.Tk()
 
# root window title and dimension
root.title("Welcome to GeekForGeeks")
root.geometry("380x400")
 
# creating button
btn = tk.Button(root, text="Press", command=lambda: func("See this worked!"))
btn.pack()
 
# running the main loop
root.mainloop()

Producción:

usando lambda

Método 2: Usando parcial 

Python3

# importing necessary libraries
from functools import partial
import tkinter as tk
 
# defining function
 
 
def function_name(func):
    print(func)
 
 
# creating root window
root = tk.Tk()
 
# root window title and dimension
root.title("Welcome to GeekForGeeks")
root.geometry("380x400")
 
# creating button
btn = tk.Button(root, text="Click Me", command=partial(
    function_name, "Thanks, Geeks for Geeks !!!"))
btn.pack()
 
# running the main loop
root.mainloop()

Producción:

utilizando parcial

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 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 *