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

Jinku Hu 2024年2月15日
  1. Tkinter 的 deleteinsert 方法来设置 Entry 文本输入控件的内容
  2. Tkinter StringVar 方法来设置 Tkinter Entry 控件的内容
如何使用按钮设置 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 关联的控件将被自动更新。

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook

相关文章 - Tkinter Entry