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