1
我正在使用Tkinter,python 2.7,並且是gui編程的新手。我想將一個字符串傳遞給一個button中的回調函數。我已經嘗試了functools和lambda函數的一部分。到目前爲止沒有運氣。所以我一定在做錯事。無法將信息傳遞給回調函數
def fetch_urls(name):
print name
root=Tk()
aname=StringVar()
E1 = Entry(root, bd =5,textvariable=aname,justify=CENTER,width=20)
E1.grid(row=0,column=1,columnspan=3)
fetchbutton=Button(root,text ="FETCH",command =fetch_urls)
fetchbutton.grid(row=7,column=0)
我基本上要爲發送字符串在aname即在輸入構件E1的功能fetch_urls文本。我試圖與使用利用沒有成功
1)拉姆達
anime=aname.get()
lambdafetch=lambda: fetch_urls(anime)
fetchbutton=Button(root,text ="FETCH",command =lambdafetch)
2)部分從functools
anime=aname.get()
parfetch=partial(fetch_urls,anime)
fetchbutton=Button(root,text ="FETCH",command =parfetch)
在兩種情況下該字符串不傳遞給函數以下。我想知道我做錯了什麼,以及如何使它工作。
def fetch():
fetch_urls(aname.get())
fetchbutton=Button(root,text ="FETCH",command =fetch)
這是有效的(在發佈問題後有15分鐘的想法)。但肯定這不是唯一的方法?
謝謝。這完全解決了我一直有的問題。我應該自己嘗試。:) – thekindlyone