如何将参数传递给 Tkinter 按钮的回调命令?

Tkinter 按钮用于处理应用程序中的某些操作。为了处理此类事件,我们一般将定义好的函数名作为值传递给回调命令。对于特定事件,我们还可以将参数传递给按钮命令中的函数。

有两种方法可以将参数传递给 tkinter 按钮命令 -

  • 使用 Lambda 或匿名函数

  • 使用偏音

示范

在此示例中,我们将创建一个简单的应用程序,其中包含一个文本标签和一个用于更改标签文本值的按钮。我们将使用 lambda 函数将标签作为参数传递给按钮命令。

#导入必要的库
from tkinter import *
from tkinter import ttk
#创建tkinter窗口的实例
win= Tk()
#设置tkinter窗口的几何图形
win.geometry("750x250")
#定义函数以更改标签小部件中的值
def change_text(label):
   label.configure(text= "Hey, I am Label-2", background="gray91")
#创建标签
label = Label(win, text= "Hey, I am Label-1", font= ('Helvetica 15 underline'), background="gray76")
label.pack(pady=20)
#创建按钮
btn= ttk.Button(win, text= "Change", command= lambda:change_text(label))
btn.pack(pady=10)
win.mainloop()

输出结果

运行上面的代码将显示一个窗口,其中包含一个文本标签和一个用于更改标签值的按钮。

现在单击“更改”按钮以更改标签小部件的值。