2015-08-25 79 views
0

我正在使用Python 2.7和Tkinter。我正在嘗試使按鈕在點擊時更改其自己的文本。該代碼似乎是正確的,但我一直遇到這樣的錯誤:如何在Python中爲我的函數提供「參數」?

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__ 
    return self.func(*args) 
TypeError: doStuff takes exactly 1 argument (0 given) 

這裏是我的代碼:

def doStuff(event): 
    button01.configure(command=doStuff2) 
    button01.configure(text="Click me again!") 

button01 = Button(root, text="Click me", command=doStuff) 
button01.grid(row=8, column=6) 

我在哪裏搞砸了,我如何通過所需要的參數doStuff()

回答

2

您將函數定義爲event。做什麼的?你是否也將它綁定到鍵盤鍵?按下鍵盤按鍵時,會將事件傳遞給綁定的任何功能。但是,Button小部件沒有。如果此功能只連接到Button,只需從功能定義中刪除event即可。

如果你已經將這個函數綁定到了這個Button和一個鍵盤按鍵(或者鼠標動作,或其他產生事件的東西),給它一個默認參數def doStuff(event=None):

相關問題