2012-06-21 144 views
1

我需要按鈕來返回他們的列和行值單擊時。 我試過編碼,但沒有工作。Tkinter按鈕,返回它的列行值

my_button = ttk.Button(mainframe) 
my_button['command'] = return_func(my_button.grid_info()['row']) 
my_button.grid(column=1, sticky=(W, E)) 

我自動創建按鈕,所以列和行值正在改變。 我該如何解決它?

回答

3

當您編寫return_func(inpt.grid_info()['row'])時,您正在使用該參數執行return_func。你不想這樣做。

而是使用lambda: return_func(inpt.grid_info()['row'])爲您的函數調用創建容器函數。這樣,lambda函數在調用函數時執行你的函數。

做這將是像這樣的另一種方式:

def command_function(): 
    return_func(inpt.grid_info()['row']) 

my_button['command'] = command_function 

我還沒有tk足以告訴你,如果需要一個參數傳遞,這樣也可能是你的問題的工作。

+0

lambda爲我工作,謝謝。 – Hzyf