如何使用按钮设置 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