微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tkinter variable textvariable

Tkinter 支持将很多 GUI 组件与变量进行双向绑定,执行这种双向绑定后编程非常方便:
如果程序改变变量的值,GUI 组件的显示内容或值会随之改变。
当 GUI 组件的内容发生改变时(比如用户输入),变量的值也会随之改变。
 
为了让 Tkinter 组件与变量进行双向绑定,只要为这些组件指定 variable(通常绑定组件的 value)textvariable(通常绑定组件显示的文本)属性即可。
 
但这种双向绑定有一个限制,就是 Tkinter不允许将组件和普通变量进行绑定,只能和 tkinter 包下 Variable 类的子类进行绑定。该类包含如下几个子类:
 
这些 Tkinter 控制变量和一般的 Python 变量一样, 都是用来保存某个值的. 但一般的 Python 变量不能被传递给 variable 或者 textvariable 参数. 这些参数可接受的类型仅限于 Tkinter 包中的 Variable 类的子类. 如下:
 
x = StringVar() # 保存一个 string 类型变量, 认值为""
x = Intvar() # 保存一个整型变量, 认值为0
x = DoubleVar() # 保存一个浮点型变量, 认值为0.0
x = BooleanVar() # 保存一个布尔型变量, 返回值为 0 (代表 False) 或 1 (代表 True)
 
要得到其保存的变量值, 使用它的 x.get() 方法即可. 
要设置其保存的变量值, 使用它的 x.set() 方法即可.
 

tkinter 里的每个构件的variable属性不一样,如对于复选框Checkbutton来说,variable的值为1或0,代表着选中或不选中;对于单选框来说,variable与value相配套,当variable==value时代表该框选中。
 
 
from tkinter import *

top = Tk()
L1 = Label(top, text = "User Name")
L1.pack(side = LEFT)
mytext=StringVar() # String类型的变量
E1 = Entry(top,textvariable=mytext,text=mytext) #双向绑定
E1.pack(side = RIGHT)
mytext.set("John") # 设置值

top.mainloop()

 

 

 
REF
https://www.cnblogs.com/myshuzhimei/p/11764522.html
https://blog.csdn.net/qq_28956077/article/details/70767052
 
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐