Причина, по которой он немедленно вызывает метод, и нажатие кнопки ничего не значит, что action(somenumber)
оценивается, а его возвращаемое значение присваивается как команда для кнопки. Поэтому, если action
печатает что-то, чтобы сообщить вам, что он запустил и возвращает None
, вы просто запустите action
, чтобы оценить его возвращаемое значение, и задали None
как команду для кнопки.
To есть кнопки для вызова функций с разными аргументами, вы можете использовать глобальные переменные, хотя я не могу это рекомендовать:
import Tkinter as Tk
frame = Tk.Frame(width=5, height=2, bd=1, relief=Tk.SUNKEN)
frame.grid(row=2,column=2)
frame.pack(fill=Tk.X, padx=5, pady=5)
def action():
global output
global variable
output.insert(Tk.END,variable.get())
button = Tk.Button(master=frame, text='press', command=action)
button.pack()
variable = Tk.Entry(master=frame)
variable.pack()
output = Tk.Text(master=frame)
output.pack()
if __name__ == '__main__':
Tk.mainloop()
Я бы сделал, чтобы сделать class
, объекты которого будут содержать всю требуемую переменную и методы их изменения по мере необходимости:
import Tkinter as Tk
class Window:
def __init__(self):
self.frame = Tk.Frame(width=5, height=2, bd=1, relief=Tk.SUNKEN)
self.frame.grid(row=2,column=2)
self.frame.pack(fill=Tk.X, padx=5, pady=5)
self.button = Tk.Button(master=self.frame, text='press', command=self.action)
self.button.pack()
self.variable = Tk.Entry(master=self.frame)
self.variable.pack()
self.output = Tk.Text(master=self.frame)
self.output.pack()
def action(self):
self.output.insert(Tk.END,self.variable.get())
if __name__ == '__main__':
window = Window()
Tk.mainloop()
Компонент React-admin <Filter>
не отправляет после каждого изменения поля, потому что он использует функцию устранения неполадок для отправки только после того, как пользователь прекратил печатать.
При этом, если вы не хотите, чтобы форма фильтра автоматически отправлялась, а предпочитаете форму фильтра с явной кнопкой отправки, вам придется создать собственный компонент <Filter>
самостоятельно - реагировать-администратор не делает не предоставлю такой компонент.