获取Tkinter Entry小部件的内容

14

我正在创建一个应用程序,我想使用GUI Entry小部件中输入的值。

如何从Tkinter Entry小部件中获取输入的值?

root = Tk()
...
entry = Entry(root)
entry.pack()

root.mainloop()

1
可能是重复的问题:Tkinter:使用get()获取Entry内容 - nbro
@Rinzler?这个问题比那一个更老。而且为什么现在标记为重复? - Zizouz212
@Zizouz212 问题的年龄[不重要,根据官方政策](https://meta.stackoverflow.com/questions/251938)在关闭重复问题时。也就是说,虽然这两个问题有重要关系,但这个问题并不是一个重复问题。这一个是关于如何通常获取信息的操作指南;而另一个则是一个关于时间和事件管理的调试问题 (即,何时 获取信息)。 - Karl Knechtel
3个回答

30

你需要做两件事情:保留小部件的引用,然后使用 get() 方法来获取字符串。

这是一个例子:

self.entry = Entry(...)
...
print("the text is", self.entry.get())

8

首先声明所需类型的变量。例如,一个整数:

var = IntVar()

然后:

entry = Entry(root, textvariable=var)

entry.pack()

user_input = var.get()

root.mainloop()

希望这可以帮到您。


这是否对当前的答案有所增加?@aleksandarkrumov - user11093202

5
这是一个例子:
import tkinter as tk

class SampleApp(tk.Tk):

    def __init__(self):
        tk.Tk.__init__(self)
        self.entry = tk.Entry(self)
        self.button = tk.Button(self, text="Get", command=self.on_button)
        self.button.pack()
        self.entry.pack()

    def on_button(self):
        print(self.entry.get())

w = SampleApp()
w.mainloop()

11
这个答案毫不羞耻地从Bryan Oakley的另一个答案上抄袭过来。 - nbro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接