How to Pass Arguments to Tkinter Button Command?
When a user hits the button on the Tkinter Button widget, the command option is activated. In some situations, it’s necessary to supply parameters to the connected command function. In this case, the procedures for both approaches are identical; the only thing that has to vary is the order in which you use them.
Method 1: Pass Arguments to Tkinter Button using the lambda function
Import the Tkinter package and create a root window. Give the root window a title(using title()) and dimension(using geometry()), now Create a button using (Button()). Use mainloop() to call the endless loop of the window. lambda function creates a temporary simple function to be called when the Button is clicked.
Python3
import tkinter as tk
def func(args):
print (args)
root = tk.Tk()
root.title( "Welcome to GeekForGeeks" )
root.geometry( "380x400" )
btn = tk.Button(root, text = "Press" , command = lambda : func( "See this worked!" ))
btn.pack()
root.mainloop()
|
Output:
using lambda
Method 2: Pass Arguments to Tkinter Button using partial
Import the Tkinter package and create a root window. Give the root window a title(using title()) and dimension(using geometry()), now Create a button using (Button()). Use mainloop() to call the endless loop of the window. command=partial returns a callable object that behaves like a func when it is called.
Python3
from functools import partial
import tkinter as tk
def function_name(func):
print (func)
root = tk.Tk()
root.title( "Welcome to GeekForGeeks" )
root.geometry( "380x400" )
btn = tk.Button(root, text = "Click Me" , command = partial(
function_name, "Thanks, Geeks for Geeks !!!" ))
btn.pack()
root.mainloop()
|
Output:
using partial
Last Updated :
03 Oct, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...