如何使用按钮设置 Tkinter Entry 文本输入控件的文本

  1. Tkinter 的 deleteinsert 方法来设置 Entry 文本输入控件的内容
  2. Tkinter StringVar 方法来设置 Tkinter Entry 控件的内容

我们有两种方法可以通过单击按钮来设置或更改 Tkinter Entry 文本输入控件的文本,

  1. Tkinter 的 deleteinsert 方法
  2. Tkinter 的 StringVar 方法

Tkinter 的 deleteinsert 方法来设置 Entry 文本输入控件的内容

Tkinter 的 Entry 控件没有专用的 set 方法来设置 Entry 文本输入的内容。如果我们必须更改内容,它首先需要删除现有内容,然后插入新内容。

使用 deleteinsert 方法在文本输入框中设置文本的完整的工作代码

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()

设置 Tkinter Entry 文本输入框内容_delete 和 insert 方法

textExample.delete(0,"end")

Entrydelete 方法删除在文本输入框中指定范围的字符。

0Entry 控件中内容的第一个字符,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 关联的控件将被自动更新。

相关文章 - Tkinter Entry

  • 如何设置 Tkinter 文本输入控件的高度和宽度
  • comments powered by Disqus