Какие невидимые аргументы передаются из встроенной функции в вашу функцию, как найти

Это встроенный код tkinter Scaler, который связывается с функцией

self.slidery =tk.Scale(self.valuesframe, from_=-2.000, to=2.000,
    sliderlength=10, tickinterval=1, length=self.windowwidth -self.sliderresizer
    ,variable=1,label="Y",borderwidth=2,resolution=0.01,width=10, highlightthickness=10, digits=3, troughcolor="red", orient=tk.HORIZONTAL)
self.slidery.pack()
self.slidery.bind("<ButtonRelease-1>", self.GetSave("Y", self.slidery.get()))

Функция GetSave() является связанной, и вот функция:

def GetSave (self,event,opt,val):
    print(opt +" : "+str(val))
    pass 

Что я получаю: TypeError: GetSave() отсутствует 1 обязательный позиционный аргумент: 'val'

Я изменяю на:

self.slidery.bind("<ButtonRelease-1>", self.GetSave(event,"Y", self.slidery.get()))

Также попробовал лямбду:

self.sliderx.bind("<ButtonRelease-1>",lambda x:self.GetSave("X",self.sliderx.get()))

Все еще ошибки.

Я и событие auto перешли на работу, как я знаю. Тогда что не так с моим кодом?

1 ответ

Попробуйте это, я немного изменил ваш lambda

self.sliderx.bind("<ButtonRelease-1>",lambda event: self.GetSave(event, "X",self.sliderx.get()))
Другие вопросы по тегам