2015-08-25 36 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):

相关问题