TypeError:正好采用1个参数(给定2个)

Gab*_*iel 4 python tkinter typeerror

我是编程,学习python语法的新手.坚持我的第一个GUI程序!

这是我的代码:

#User name

userLabel = Label(self.signView, text="User Name")
userLabel.grid(sticky = E)
self.userEntry = Entry(self.signView)
self.userEntry.grid(row=0, column=1)

self.labelUserVar = StringVar()
self.validLabel = Label(self.signView, textvariable=self.labelUserVar, 
                         anchor="w", fg="red")
self.validLabel.grid(row=0, column=2)
self.userEntry.bind("<Return>", self.CheckUser)
Run Code Online (Sandbox Code Playgroud)

这是以下CheckUser()函数:

def CheckUser(self):
    self.labelUserVar.set("unavailable user name!")
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误.

TypeError: CheckUser() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 9

您传递的函数.bind() 将事件作为参数传递,无论您是否需要它,它都将被传递.

将功能定义更改为

def CheckUser(self, event):
    self.labelUserVar.set("unavailable user name!")
Run Code Online (Sandbox Code Playgroud)