#tkinter之Checkbutton篇
#Checkbutton又称为多选按钮,可以表示两种状态,On和Off,可以设置回调函数,每当点击此按钮时回调函数被调用。
1、一个简单的Checkbutton例子
#创建一个Checkbutton,显示文本为'python'
from tkinter import * root = Tk()
Checkbutton(root,text='python').pack()
root.mainloop()
2、设置Checkbutton的回调函数
from tkinter import * def callCheckbutton():
print('you check this button') root = Tk()
Checkbutton(root,text='chech python',command=callCheckbutton).pack()
root.mainloop()
#不管Checkbutton的状态如何,此回调函数都会被调用,即对话框你选或者不选,只要有点击,就会调用函数
3、通过回调函数改变Checkbutton的显示文本text的值
from tkinter import * def callCheckbutton():
#改变v的值,即改变Checkbutton的显示值
v.set('Check Tkinter') root = Tk()
v = StringVar()#声明v是tkinter里面的一个字符串变量
v.set('good good')#设定字符串变量v的值
#绑定v到Checkbutton的属性textvariable
Checkbutton(root,textvariable =v,command=callCheckbutton).pack()
root.mainloop()
4、上述的textvariable使用方法与Button的用法完全相同,使用此例是为了区别Checkbutton的另外一个属性variable,此属性与textvariable不同,
它是与这个控件本身绑定,checkbutton本身有值,On与Off分别为1和0,
也就是说,variable的值是Checkbutton本身的值,是0或1等其他类型的数值
textvariable是里面显示的文本的值
#显示Checkbutton的值
from tkinter import *
root =Tk()
#将一整数与Checkbutton的值绑定,每次点击Checkbutton,将打印当前的值
v = IntVar()#声明v是tkinter里面的一个整形变量 Checkbutton(root,variable = v,text ='checkbutton value').pack()
Label(root,textvariable = v).pack() root.mainloop()
5、Checkbutton的值不仅仅是1或者0,可以是其他类型的数值,可以通过onvalue,offvalue属性设置状态值
如下代码将On设置为python,Off设置为tkinter,程序打印值将不再是0或者1,而是tkinter和python
from tkinter import *
root = Tk()
#将一字符串与Checkbutton的值绑定,每次点击Checkbutton将打印出当前的值
v = StringVar()#声明v是tkinter里面的字符串变量
def callCheckbutton():
print(v.get()) Checkbutton(root,variable = v,text = 'checkbutton value',onvalue = 'python',offvalue='tkinter',command=callCheckbutton).pack()
root.mainloop()