如何使用按钮设置 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
关联的控件将被自动更新。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。