Как вызвать параметризованную функцию с помощью Tkinter в Python?

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 и возвращать в метке вычисляемое_свойство.

Можете ли вы дать мне какое-либо решение?

Спасибо большое!


person BatuDog88    schedule 11.12.2014    source источник


Ответы (1)


Вы можете просто использовать лямбда-функцию для передачи аргументов :

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

Этот код эквивалентен выполнению:

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

за исключением того, что функция создается встроенной.

person Community    schedule 11.12.2014