【问题标题】:How to call a parametized function with Tkinter in Python?如何在 Python 中使用 Tkinter 调用参数化函数?
【发布时间】:2015-02-10 09:53:43
【问题描述】:
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。

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

然后,想法是调用 my_function 中的几个函数并在标签中返回一个计算属性。

你能给我解决办法吗?

非常感谢你!

【问题讨论】:

标签: python interface tkinter graphic


【解决方案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)

除了函数是内联创建的。

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 2018-12-20
    • 1970-01-01
    • 2017-09-10
    • 2019-09-05
    • 2018-06-20
    • 1970-01-01
    • 2015-08-13
    • 2017-07-04
    相关资源
    最近更新 更多