Python:按钮命令不运行?

时间:2015-12-10 10:57:31

标签: python button methods tkinter

对于A级计算项目,我正在制作汽车数据监控系统。我有一个打开filedialog.askopenfilename方法的按钮。当我通过下面的方法传递它时,它不起作用。然而,当我直接将它传递到按钮时,它工作正常。关于为什么的任何想法?

不能工作:

def get_data_file():
    filedialog.askopenfilename
    return
OpenfileButton=Button(master,text="Select File",width=20,command=get_data_file).grid(row=3, column=2)

工作的:

OpenfileButton=Button(master,text="Select File",width=20,command=filedialog.askopenfilename).grid(row=3, column=2)

1 个答案:

答案 0 :(得分:4)

你需要实际调用函数

def get_data_file():
    filedialog.askopenfilename()

当您将该函数传递给按钮时,您不应该调用它,而只是在单击按钮时将其传递给要调用,但是现在您已将其包装在另一个函数中,它必须由您调用。

回报是多余的,如果您愿意,可以省略。默认情况下,所有python函数都返回None