У меня есть метод, который принимает необязательные события.Иногда он вызывается командой виджета, таким образом, нет события, а иногда - нажатием клавиши, связанной с окном Tkinter, которое передает событие.Однако, когда метод вызывается с помощью нажатия клавиши, булево значение, переданное лямбда-функцией, не передается - метод всегда печатает значение True (его параметр по умолчанию).Что я делаю неправильно?Вот работоспособный пример.
import tkinter as tk
class Main(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.button = tk.Button(self, text="Call Method", command=self.meth)
self.button.pack()
self.bind("<Control-s>", lambda var = False : self.meth(var))
def meth(self, *event, var=True):
print(event, var)
if __name__ == '__main__':
main = Main()
main.mainloop()