2015-12-10 342 views
0

對於A級計算項目,我正在製作汽車數據監控系統。我有一個打開filedialog.askopenfilename方法的按鈕。當我通過下面的方法傳遞它時,它不起作用。但是,當我直接將它傳遞給按鈕時,它工作正常。任何想法爲什麼?Python:按鈕命令沒有運行?

不起作用:

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

您需要在第一個示例中調用該函數。只需將()添加到「askopenfilename」的末尾即可。你也不需要回報。 –

+1

謝謝,我會試試這個。作爲回答發佈,我會+1 @PaulRooney –

回答

4

您需要實際調用該函數

def get_data_file(): 
    filedialog.askopenfilename() 

當您通過功能按鈕你不應該調用它,但只是傳遞它在點擊按鈕時被調用,但正如你現在已經將它包裹在anot中她的功能必須由你來調用。

退貨是多餘的,如果您願意,可以省略。所有的python函數默認返回None