2014-09-27 98 views
4

我是新來編程的,學過python語法。卡在我的第一個GUI程序!TypeError:只需要1個參數(給出2個參數)

這裏是我的代碼:

#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) 

這裏有以下CheckUser()函數:

def CheckUser(self): 
    self.labelUserVar.set("unavailable user name!") 

我得到這個錯誤。

TypeError: CheckUser() takes exactly 1 argument (2 given) 
+2

只是讓你明白(如果你不這樣做的話),在錯誤出現由於需要1個參數(個體經營)的功能,但你給它2,自和它的一個事件,由於綁定到輸入鍵。以爲我會解釋它,因爲我不認爲給出的答案很清楚,爲什麼它修復了錯誤。乾杯! – W1ll1amvl 2014-09-28 19:52:06

回答

9

傳遞給.bind()takes the event as an argument的功能,它會在無論你是否需要它傳遞。

變化的函數定義

def CheckUser(self, event): 
    self.labelUserVar.set("unavailable user name!") 
相關問題