这是绑定到函数
的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个必需的位置参数:&#39; val&#39;
我改为:
self.slidery.bind("<ButtonRelease-1>", self.GetSave(event,"Y", self.slidery.get()))
还试过lambda:
self.sliderx.bind("<ButtonRelease-1>",lambda x:self.GetSave("X",self.sliderx.get()))
仍然是错误。
自我和事件自动传递给我知道的功能。 那我的代码出了什么问题?
答案 0 :(得分:2)
试试这个,我稍微更改了您的lambda
self.sliderx.bind("<ButtonRelease-1>",lambda event: self.GetSave(event, "X",self.sliderx.get()))