2024-09-30 01:31:43 发布
网友
在学习Python和TKInter时,我在代码中遇到了这个错误。不知道我错过了什么,希望有人能帮助我。我已经包括了按钮代码和功能,向您展示了我所拥有的
def change_font(self): self.label_name['font'] = "Sawasdee" self.button1 = Button(self.myframe2, text="Change font") self.button1.bind("<Button-1>", self.change_font)
将函数绑定到事件时,tkinter将使用表示触发要调用函数的事件的参数调用该函数。这就是为什么错误说它期望一个参数(self),但得到了两个参数(self,event)
即使不需要,也需要考虑该事件参数。最简单的方法是使其成为可选的命名参数:
def change_font(self, event=None): self.label_name["font"] = "Sawasdee"
在按钮上使用bind通常是不正确的。Button小部件接受名为command的属性,该属性可用于将按钮绑定到函数。在这种情况下,函数将而不是获取事件参数:
bind
Button
command
def change_font(self): self.label_name["font"] = "Sawasdee" self.button1 = Button(self.myframe2, text="ChangeFont", command=change_font)
使用command的优点是,它不仅自动支持用鼠标单击,而且还支持用键盘与按钮交互
将函数绑定到事件时,tkinter将使用表示触发要调用函数的事件的参数调用该函数。这就是为什么错误说它期望一个参数(self),但得到了两个参数(self,event)
即使不需要,也需要考虑该事件参数。最简单的方法是使其成为可选的命名参数:
在按钮上使用
bind
通常是不正确的。Button
小部件接受名为command
的属性,该属性可用于将按钮绑定到函数。在这种情况下,函数将而不是获取事件参数:使用
command
的优点是,它不仅自动支持用鼠标单击,而且还支持用键盘与按钮交互相关问题 更多 >
编程相关推荐