[英]PYTHON TkInter - setting and accessing entry widget text as variable
[英]Accessing Entry widget information: tkinter python
我正在編寫一個 Tkinter 程序,並且有一個根目錄,其中標簽顯示在條目小部件旁邊。
例如:名稱 -> 搜索詞輸入框
我正在嘗試從條目 wigets 創建一個值列表(例如:['','user input','user input'])
我在根目錄中創建了條目小部件,然后有一個 function 獲取值:
def get_user_entries(user_entries):
new_search_terms = []
for entry in user_entries:
new_search_terms.append(entry.get())
return new_search_terms
我希望能夠訪問名為 new_search_terms 的列表,以便在其上運行另一個 python 程序。
我嘗試使用 function 作為按鈕的命令。 我試過在不同的地方綁定按鈕。 我試過在不同的地方調用按鈕。 I also tried creating a class where I new_search_terms was a class variable, but since I can't access the returned information from the function above the updated class variable did not hold. 在用盡互聯網和幾本書之后,我還沒有找到一個從按鈕 function 中返回信息而不是打印的示例。 我需要能夠在另一個地方訪問這些信息。
有沒有辦法訪問我需要的信息,或者在我沒有想到的 Tkinter 中是否有另一種方法?
我創建按鈕的代碼:
done = Button(root, text='Done', command= lambda: get_user_entries(user_entries))
done.pack()
這是創建條目和標簽的代碼:
def uc_1(original_names, final_names, root):
user_entries = []
for index in range(len(original_names)):
row = Frame(root)
info = Label(row, text = original_names[index]+'->'+final_names[index])
user_entry = Entry(row)
row.pack(side=TOP, fill=X)
user_entry.pack(side=RIGHT, expand=YES, fill=X)
user_entries.append(user_entry)
info.pack(side=LEFT)
return user_entries
謝謝!
按鈕命令不會“返回”。 他們這樣做了,但是他們返回到事件循環,因此沒有任何東西可以處理返回的任何內容。
話雖如此,很難知道你在問什么。 您說“我無法訪問函數返回的信息”,但我看不出有什么理由不這樣做。 如果調用它,它不會返回return語句返回的內容嗎? 這似乎完全不可能。
如果你配置一個按鈕來運行'self.OnButton',並定義'self.OnButton'來調用你的function'get_user_entries',會發生什么? 它不返回任何東西嗎?
這樣看:你的按鈕 function 不應該返回什么,它應該做一些事情。 它可以通過調用你 function 來做到這一點,得到它返回的東西,然后調用你想要它調用的任何東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.