一、定義:Checkbutton組件用於實現是否選擇的按鈕
二、作用:使用Checkbutton,必須創建一個tkinter變量用於存放按鈕的狀態:v=IntVar()
from tkinter import * root = Tk() #存放選中的狀態 v = IntVar() c = Checkbutton(root,text="測試一下",variable=v).pack() #選中未選中V的表現狀態 l=Label(root,textvariable=v).pack() #textvariale:checkbutton顯示Tkinter變量,如果變量被修改,checkbutton的文本會自動更新 mainloop()
執行結果:
1、默認設置為選擇狀態,采用:變量var.set("T")
var=StringVar() var.set("T")
執行結果:
2、默認情況下,variable 選項設置為 1 表示選中狀態,反之設置為 0。你可以使用 onvalue 和 offvalue 選項修改它們的值由,例如下邊代碼,只要 var 被設置為“T”即選中狀態,設置為“F”則相反
from tkinter import * root = Tk() #存放選中的狀態 v = StringVar() v.set("T") c = Checkbutton(root,text="測試一下",variable=v,onvalue="T",offvalue="F").pack() #選中未選中V的表現狀態 l=Label(root,textvariable=v).pack() #textvariale:checkbutton顯示Tkinter變量,如果變量被修改,checkbutton的文本會自動更新 mainloop()
三、練習1:選擇四大美女
from tkinter import * root = Tk() #選項列表 GIRLS=["西施","貂蟬","王昭君","楊玉環"] #勾選的狀態存放列表 v=[] #循環選擇 for girl in GIRLS: v.append(IntVar()) #每次點擊以后,在狀態列表增加一項 b=Checkbutton(root,text=girl,variable=v[-1])#variable=v[-1]:每次拿到最后一個元素 b.pack(anchor=W)#anchor=W:左對齊 mainloop()
執行結果:
四、方法
deselect()
-- 取消 Checkbutton 組件的選中狀態,也就是設置 variable 為 offvalue。
flash()
-- 刷新 Checkbutton 組件,該方法將重繪 Checkbutton 組件若干次(在 ACTIVE 和 NORMAL 狀態間切換)。
invoke()
-- 調用 Checkbutton 中 command 選項指定的函數或方法,並返回函數的返回值。
-- 如果 Checkbutton 的狀態是 DISABLED(不可用)或沒有指定 command 選項,則該方法無效。
select()
-- 將 Checkbutton 組件設置為選中狀態,也就是設置 variable 為 onvalue。
toggle()
-- 切換 Checkbutton 組件的狀態(選中 -> 未選中 / 未選中 -> 選中)