第8-1讲,Checkbutton 多选框控件
Checkbutton是tkinter中的一个复选框控件,具有以下常用属性:
- text:设置Checkbutton的文本标签;
- variable:与Checkbutton关联的变量,可以是IntVar或BooleanVar类型;
- onvalue:当Checkbutton被选中时,variable变量所表示的值;
- offvalue:当Checkbutton未被选中时,variable变量所表示的值;
- command:当Checkbutton状态发生改变时,执行的回调函数。
import tkinter as tk #第一步:创建窗体 window = tk.Tk() #第三步:窗体配置 #窗体标题设置 window.title("checkbutoon") #设置窗体图标 window.iconbitmap('../images/中雨.ico') #设置窗体大小 window.geometry('300x200') #第六步:创建选中checkbutton要显示的label label = tk.Label(window, bg='yellow', width=20, text='') label.pack() #点击checkbutton,触发的函数 def select(): select_lst = [] if var1.get() == 1: # var1.get()获取c1的状态值 select_lst.append('python') if var2.get() == 1: select_lst.append('java') if var3.get() == 1: select_lst.append('php') text = "你选择了 " + ','.join(select_lst) label.config(text=text) #第四步,配置checkbutton要用到的值 var1 = tk.IntVar() var2 = tk.IntVar() var3 = tk.IntVar() #第五步:checkbutton创建 c1 = tk.Checkbutton(window, text='Python', # 选项显示内容 variable=var1, # 绑定变量var1 onvalue=1, # 被选中时的状态值 offvalue=0, # 没有被选中时的状态值 command=select) c1.pack() c2 = tk.Checkbutton(window, text='java', variable=var2, onvalue=1, offvalue=0,command=select) c2.pack() c3 = tk.Checkbutton(window, text='php', variable=var3, onvalue=1, offvalue=0,command=select) c3.pack() #第二步:显示窗体 window.mainloop()
checkbutton 只有两个状态,选中或是未选中,在创建checkbutton控件值,设置onvalue和offvalue参数,我这里设置的是1和0,分别代表选中和未选中。
设置variable参数,将控件的值与变量绑定在一起,这样,通过变量var1就可以获取控件c1的状态值。