《tkinter实用教程七》tkinter ttk




代码执行结果,如下图所示:



![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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值