前面学习了ListBox,RadioButton,他们都提供了让用户做选择的功能,Checkbutton同样可以提供这样的选择功能,而且,它是多选的
import tkinter as tk
window = tk.Tk()
window.title('checkbutton')
window.geometry('200x200')
label = tk.Label(window, bg='yellow', width=20, text='')
label.pack()
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)
var1 = tk.IntVar()
var2 = tk.IntVar()
var3 = tk.IntVar()
c1 = tk.Checkbutton(window,
text='Python', # 选项显示内容
variable=var1, # 绑定变量var1
onvalue=1, # 被选中时的状态值
offvalue=0, # 没有被选中时的状态值
command=select)
c2 = tk.Checkbutton(window, text='java', variable=var2, onvalue=1, offvalue=0,
command=select)
c3 = tk.Checkbutton(window, text='php', variable=var3, onvalue=1, offvalue=0,
command=select)
c1.pack()
c2.pack()
c3.pack()
window.mainloop()
运行程序,效果图如下
checkbutton 只有两个状态,选中或是未选中,在创建checkbutton控件值,设置onvalue和offvalue参数,我这里设置的是1和0,分别代表选中和未选中。
设置variable参数,将控件的值与变量绑定在一起,这样,通过变量var1就可以获取控件c1的状态值。
QQ交流群: 211426309