📜  如何将参数传递给 Tkinter 按钮命令?(1)

📅  最后修改于: 2023-12-03 15:09:06.885000             🧑  作者: Mango

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

在Tkinter中,我们可以使用command参数给按钮添加一个回调函数。但有时,在回调函数中,我们想要将一些参数传递给函数以便进行计算。那么应该如何实现呢?

我们可以使用lambda函数来创建一个匿名函数,在匿名函数中传递参数,然后将匿名函数作为回调函数传递给按钮。

下面是一个示例程序,代码中定义了一个包含两个参数的函数add,然后使用lambda函数将参数传递给按钮回调函数。

import tkinter as tk

def add(x, y):
    result = x + y
    print(f"{x} + {y} = {result}")

root = tk.Tk()

# 使用lambda函数传递参数
button = tk.Button(root, text="Add", command=lambda: add(3, 5))
button.pack()

root.mainloop()

这段程序将输出 3 + 5 = 8

在lambda函数中,我们可以传递任意数量的参数,甚至可以传递变量和表达式的结果。

# 传递变量
a = 5
button = tk.Button(root, text="Add", command=lambda: add(a, 3))

# 传递表达式
button = tk.Button(root, text="Add", command=lambda: add(2+3, 5*2))

同时也可以使用 functools.partial() 方法来达到相同的结果:

import functools

button = tk.Button(root, text="Add", command=functools.partial(add, 3, 5))

参考链接:

以上是如何将参数传递给Tkinter按钮命令的介绍,希望能对你有所帮助。