Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter按钮动作_Python_Python 2.7_Button_Tkinter - Fatal编程技术网

Python Tkinter按钮动作

Python Tkinter按钮动作,python,python-2.7,button,tkinter,Python,Python 2.7,Button,Tkinter,我有以下代码: #!/usr/bin/python import Tkinter from tkFileDialog import askopenfilename import tkMessageBox root = Tkinter.Tk() def getFileName(): # show an "Open" dialog box. filename = askopenfilename(filetypes = [('Text files', '*.txt'),('All fil

我有以下代码:

#!/usr/bin/python

import Tkinter
from tkFileDialog import askopenfilename
import tkMessageBox

root = Tkinter.Tk()

def getFileName():
  # show an "Open" dialog box.
  filename = askopenfilename(filetypes = [('Text files', '*.txt'),('All files','*')])

btnIco = Tkinter.Button(root, text="Icon", command=getFileName())
btnIco.pack()

root.mainloop()

我打算在单击按钮时运行函数
getFileName
。但是,当代码运行时,函数会运行,单击按钮时,该按钮不会执行任何操作。您能指出哪里出了问题吗?

替换以下行:

btnIco = Tkinter.Button(root, text="Icon", command=getFileName())
与:

换句话说,在
getFileName
之后删除
()
。通过附加
()
,在创建按钮之前调用
getFileName
,并将函数的返回值用作回调,而不是函数本身。

另请参见
btnIco = Tkinter.Button(root, text="Icon", command=getFileName)