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
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM