Tkinter之variable用法


Variable 類

有些控件 (比如 Entry 控件, Radiobutton 控件 等) 可以通過傳入特定參數直接和一個程序變量綁定, 這些參數包括: variable, textvariable, onvalue, offvalue, value. 
這種綁定是雙向的: 如果該變量發生改變, 與該變量綁定的控件也會隨之更新. 
這些 Tkinter 控制變量和一般的 Python 變量一樣, 都是用來保存某個值的. 但一般的 Python 變量不能被傳遞給 variable 或者 textvariable 參數. 這些參數可接受的類型僅限於 Tkinter 包中的 Variable 類的子類. 如下:
 
x = StringVar() # 保存一個 string 類型變量, 默認值為""
x = IntVar() # 保存一個整型變量, 默認值為0
x = DoubleVar() # 保存一個浮點型變量, 默認值為0.0
x = BooleanVar() # 保存一個布爾型變量, 返回值為 0 (代表 False) 或 1 (代表 True)
 
要得到其保存的變量值, 使用它的 get() 方法即可. 
要設置其保存的變量值, 使用它的 set() 方法即可.
 
 
Tkinter 支持將很多 GUI 組件與變量進行雙向綁定,執行這種雙向綁定后編程非常方便:
如果程序改變變量的值,GUI 組件的顯示內容或值會隨之改變。
當 GUI 組件的內容發生改變時(比如用戶輸入),變量的值也會隨之改變。
 
為了讓 Tkinter 組件與變量進行雙向綁定,只要為這些組件指定 variable(通常綁定組件的 value)、textvariable(通常綁定組件顯示的文本)等屬性即可。
 
但這種雙向綁定有一個限制,就是 Tkinter不允許將組件和普通變量進行綁定,只能和 tkinter 包下 Variable 類的子類進行綁定。該類包含如下幾個子類:
ShringVar():用於包裝str 值的變量。
IntVar():用於包裝整型值的變量。
DoubleVar():用於包裝浮點值的變量。
BooleanVar():用於包裝bool值的變量。
 
對於 Variable 變量而言,如果要設置其保存的變量值,則使用它的 set() 方法;如果要得到其保存的變量值,則使用它的 get() 方法。
 
 
示例參考
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM