什么样的隐形参数从内置函数传递到您的函数,如何查找

2024-10-01 07:10:30 发布

您现在位置:Python中文网/ 问答频道 /正文

这是绑定到函数的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()))

也试过lambda:

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

仍然是错误

自我和事件自动传递到功能,我知道。 那我的代码怎么了


Tags: lambda函数代码selfeventgetbindtkinter
1条回答
网友
1楼 · 发布于 2024-10-01 07:10:30

试试这个,我稍微改变了你的lambda

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

相关问题 更多 >