一、定义: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 组件的状态(选中 -> 未选中 / 未选中 -> 选中)