如何使用按钮设置 Tkinter Entry 文本输入控件的文本
Jinku Hu
2024年2月15日
Tkinter
Tkinter Entry
我们有两种方法可以通过单击按钮来设置或更改 Tkinter Entry 文本输入控件的文本,
- Tkinter 的
delete和insert方法 - Tkinter 的
StringVar方法
Tkinter 的 delete 和 insert 方法来设置 Entry 文本输入控件的内容
Tkinter 的 Entry 控件没有专用的 set 方法来设置 Entry 文本输入的内容。如果我们必须更改内容,它首先需要删除现有内容,然后插入新内容。
使用 delete 和 insert 方法在文本输入框中设置文本的完整的工作代码
import tkinter as tk
root = tk.Tk()
root.geometry("400x50")
def setTextInput(text):
textExample.delete(0, "end")
textExample.insert(0, text)
textExample = tk.Entry(root)
textExample.pack()
btnSet = tk.Button(
root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()
root.mainloop()

textExample.delete(0, "end")
Entry 的 delete 方法删除在文本输入框中指定范围的字符。
0 是 Entry 控件中内容的第一个字符,"end" 是内容的最后一个字符。因此,delete(0, "end") 删除文本输入框中的所有内容。
textExample.insert(0, text)
insert 方法将文本插入指定位置。在上面的代码中,它在开头插入了 text。
Tkinter StringVar 方法来设置 Tkinter Entry 控件的内容
如果 Tkinter Entry 控件的内容已与 StringVar 对象相关联,则每次更新 StringVar 的值时,它可以自动更改 Tkinter Entry 控件的内容。
使用 StringVar 对象在 Entry 中设置文本的完整工作代码
import tkinter as tk
root = tk.Tk()
root.geometry("400x50")
def setTextInput(text):
textEntry.set(text)
textEntry = tk.StringVar()
textExample = tk.Entry(root, textvariable=textEntry)
textExample.pack()
btnSet = tk.Button(
root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()
root.mainloop()
textEntry = tk.StringVar()
textExample = tk.Entry(root, textvariable=textEntry)
textEntry 是一个 StringVar 对象,它与文本内容关联,或者与 Entry 控件中的 textvariable 选项关联。
textEntry.set(text)
如果将 textEntry 更新为新值 text,则与 textvariable 关联的控件将被自动更新。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Jinku Hu
