代码执行结果,如下图所示:
![tkinter entry](https://img-blog.csdnimg.cn/754a9e9f472c47b19fb16d8a9d09b3da.png#pic_center)
### []( )如何设置并获取 `ttk.Entry` 控件内容
和 `ttk.Label` 控件一样,`ttk.Entry` 控件可以通过 `textvariable` 参数设置并获取其内容。
示例代码如下:
from tkinter import *
from tkinter import ttk
def click():
btn['text']=namestr.get()
root = Tk()
main = ttk.Frame(root)
namestr = StringVar()
namestr.set(“小明”) # 设置 Entry 控件内容
name = ttk.Entry(main,width=12,textvariable=namestr)
l = ttk.Label(main,width=12,textvariable=namestr)
btn = ttk.Button(main,text=“Get”,command=click)
main.grid()
name.grid(column=0,row=0)
l.grid(column=0,row=1)
btn.grid(column=0,row=2)
root.mainloop()
代码执行结果如下图所示:
![tkinter entry 变量绑定](https://img-blog.csdnimg.cn/aec6c0a5c2114f34b5934668495473e9.png#pic_center)
![变量绑定](https://img-blog.csdnimg.cn/34649fe53ab94a21b05e0cf14a3f8cb2.png#pic_center)
![entry变量读取](https://img-blog.csdnimg.cn/e4b2a06fbff94c6c97bbaf3b9099721e.png#pic_center)
修改 `ttk.Entry` 中的内容,`ttk.Label` 会同步展示其中的值,点击按钮之后,按钮中的值也变成了 `ttk.Entry` 中的内容。
### []( )设置并获取 `ttk.Entry` 值的另一种方式
除了以上通过 `textvariable` 的方式指定和获取 `ttk.Entry` 的值之外,还可以用 `get()` 方法获取内容,使用 `insert()` 和 `delete()` 方法设置内容。
示例代码如下:
from tkinter import *
from tkinter import ttk
def setvar():
name.insert(0,"小明是个好同志")
def delvar():
name.delete(0,1)
def getvar():
l['text']=name.get()
root = Tk()
main = ttk.Frame(root)
name = ttk.Entry(main,width=12)
l = ttk.Label(main,width=12)
btn = ttk.Button(main,text=“设置内容”,command=setvar)
btn_del = ttk.Button(main,text=“删除内容”,command=delvar)
btn_get = ttk.Button(main,text=“获取内容”,command=getvar)
main.grid()
name.grid(column=0,row=0)
l.grid(column=0,row=1)
btn.grid(column=0,row=2)
btn_del.grid(column=0,row=3)
btn_get.grid(column=0,row=4)
root.mainloop()
以上代码,创建了一个可以通过点击按钮设置、修改、获取 `ttk.Entry` 内容的示例。
代码执行结果如下图:
![tkinter内容获取](https://img-blog.csdnimg.cn/b07e913b660044d49134deb6ae38f055.png#pic_center)
![tkinter Entry 内容设置](https://img-blog.csdnimg.cn/460b260af0a041fdb13be2eb9b937832.png#pic_center)
![tkinter entry 删除内容](https://img-blog.csdnimg.cn/848c191a08af4291a1047ce6311e17df.png#pic_center)
![tkinter entry 获取内容](https://img-blog.csdnimg.cn/c83f95edee5a44a78ae75b9f25798845.png#pic_center)
### []( )`ttk.Entry` 值监控
我们经常在输入内容时验证输入内容是否合法,这就需要监听 `ttk.Entry` 的读写操作。
以下代码,在 `ttk.Entry` 被写入,被读取的时候都会触发对应的函数,执行响应的操作。
from tkinter import *
from tkinter import ttk
def written(*args): # 变量写入时执行
l['text']="变量被写入"
def readed(*args): # 变量读取时执行
l['text']="变量被读取"
def read():
username.get()
def remove_trace():
username.trace_remove('write',vw) # 删除追踪操作
root = Tk()
main = ttk.Frame(root)
username = StringVar()
name = ttk.Entry(main,width=12,textvariable=username)
vw = username.trace_add(“write”,written) # 追踪变量值的写变化
vr = username.trace_add(“read”,readed) # 追踪变量值的读变化
l = ttk.Label(main)
btnread=ttk.Button(main,text=“read var” ,command=read)
btn = ttk.Button(main,text=“remove trace”,command=remove_trace)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!