Tkinter(六):Checkbutton 复选按钮

 

 效果:

选择不同的复选框,会显示选中的内容在顶部label上

import tkinter as tk

# 定义窗口
window = tk.Tk()
window.title('my window')  # 窗口title
window.geometry('350x300')  # 窗口尺寸

# 定义Label
l = tk.Label(window, bg="yellow", width=20, text='you have selected None')
l.pack()


def print_selection():
    if (var1.get() == 1 and var2.get() == 0):
        l.config(text='I love only Python')
    elif (var1.get() == 0 and var2.get() == 1):
        l.config(text='I love only C++')
    elif (var1.get() == 1 and var2.get() == 1):
        l.config(text='I love both')
    else:
        l.config(text='I do not love either')


var1 = tk.IntVar()
var2 = tk.IntVar()
'''
state状态:active, disabled,normal
onvalue:复选按钮选中时变量的值
offvalue:复选按钮未选中时变量的值
variable:通过变量的值确定哪些复选按钮被选中,每个复选按钮使用不同的变量,复选按钮之间相互独立
'''
c1 = tk.Checkbutton(window, text='Python', variable=var1, onvalue=1, offvalue=0, command=print_selection)
c2 = tk.Checkbutton(window, text='C++', variable=var2, onvalue=1, offvalue=0, command=print_selection)

c1.pack()
c2.pack()

window.mainloop()

总结:

1.复选框被勾选上时,variable = var1 = onvalue =1

复选框没有被勾上时,variable = var1 = offvalue =0

2.获取值使用var1.get()

3.条件判断语句,python2和python3中略有不同,python3中使用and or not

4.使用state参数可以表明复选框的状态,参数有active,disabled,normal

posted @ 2020-09-21 16:47  RonyJay  阅读(967)  评论(0编辑  收藏  举报