首页 文章

访问Entry小部件信息:tkinter python

提问于
浏览
0

我正在编写一个Tkinter程序并且有一个根目录,其中标签显示在条目小部件旁边 .

EX:名称 - > SearchTerm ENTRY BOX

我正在尝试从输入wigets创建一个值列表(EX:['','用户输入','用户输入'])

我在根目录中创建了条目小部件,然后有一个获取值的函数:

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程序 .

我试图将该功能用作按钮的命令 . 我试过在不同的地方绑定按钮 . 我试过在不同的地方调用按钮 . 我也尝试创建一个类,其中new_search_terms是一个类变量,但由于我无法从上面的函数访问返回的信息,因此更新的类变量不成立 . 在耗尽互联网和几本书之后,我还没有找到一个例子,其中信息是从Button功能返回而不是打印出来的 . 我需要能够在其他地方访问此信息 .

有没有办法访问我需要的信息,或者有没有其他方法在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

谢谢!

1 回答

  • 0

    按钮命令不“返回” . 他们这样做,但他们返回到事件循环,所以没有什么可以处理返回的任何内容 .

    话虽如此,很难知道你在问什么 . 你说“我无法从函数中访问返回的信息”,但我认为没有理由不这样做 . 如果你调用它,它不会返回return语句返回的内容吗?这似乎是不可能的 .

    如果你配置一个按钮来运行'self.OnButton',并定义'self.OnButton'来调用你的函数'get_user_entries',会发生什么?它不会重新调整吗?

    以这种方式看待它:你的按钮功能不应该返回一些东西,它应该做点什么 . 它可以通过调用您的函数,获取它返回的内容,调用您想要调用的任何其他内容来实现 .

相关问题