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