如何在Python中使用Tkinter调用参数化函数?

时间:2014-12-11 19:32:06

标签: python interface tkinter graphic

from tkinter import * 

def my_function(parameter1, parameter2):
    total = int(entrada1.get()) + int(entrada2.get())
    Label(root,text=calculated_property).pack()

root = Tk()
frame = Frame(root)  
frame.pack()  

root.title("Testing 123")

numero1 = IntVar()
numero2 = IntVar()
entrada1 = Entry(root,textvariable=numero1)
entrada1.pack()
entrada2 = Entry(root,textvariable=numero2)
entrada2.pack()
aceptar = Button(root,text="Calcular",command=my_function)
aceptar.pack()
root.mainloop()

我正在使用Python中的简单图形界面。我正在使用tkinter库来练习。

生成的表单非常简单,它只包含两个输入和一个调用该函数的按钮:my_function。

我在调用该函数时遇到了麻烦,因为属性"命令"不允许任何参数,但my_function需要两个由表单输入给出的参数。

然后,想法是在my_function中调用几个函数,并在标签中返回一个calculated_property。

你能给我任何解决方案吗?

非常感谢你!

1 个答案:

答案 0 :(得分:1)

您只需使用lambda function传递参数:

aceptar = Button(root,text="Calcular", command=lambda: my_function(arg1, arg2))

此代码相当于:

def func():
    my_function(arg1, arg2)
aceptar = Button(root,text="Calcular", command=func)

除了函数是内联创建的。