簡體   English   中英

訪問 Entry 小部件信息:tkinter python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM