Checkbutton:代表一个变量,它有两个不同的值。点击这个按钮将会在这两个值间切换,选择和取消选择。
import tkinter as tk
window=tk.Tk() #建立主窗口
window.title("My Window") #主窗口名字
window.geometry("500x300") #这里的乘号是小写x
Mylabel = tk.Label(window, bg='yellow', width=20, text='empty')
Mylabel .pack()
#定义触发函数功能
def print_selection():
if (var1.get() == 1) & (var2.get() == 0): # 如果选中第一个选项,未选中第二个选项
Mylabel .config(text='I only love Python ')
elif (var1.get() == 0) & (var2.get() == 1): # 如果选中第二个选项,未选中第一个选项
Mylabel .config(text='I only love C++')
elif (var1.get() == 0) & (var2.get() == 0): # 如果两个选项都未选中
Mylabel .config(text='I do not love either')
else: # 如果两个选项都选中
Mylabel .config(text='I love both')
var1 = tk.IntVar() # 定义var1和var2整型变量用来存放选择行为返回值
var2 = tk.IntVar()
Mycheckbuton1= tk.Checkbutton(window, text='Python',variable=var1, onvalue=1, offvalue=0, command=print_selection) # 传值原理类似于radiobutton部件
Mycheckbuton1.pack()
Mycheckbuton2 = tk.Checkbutton(window, text='C++',variable=var2, onvalue=1, offvalue=0, command=print_selection)
Mycheckbuton2.pack()
window.mainloop() #主窗口循环显示
'''
逻辑:
按钮被按下,选项被选中,onvalue值赋值给对应的var,执行command命令,即print_selecion函数;
按钮被按下,该选项被取消,offvalue值赋值给对应的var,执行command命令,即print_selecion函数;
即按钮被按下是在执行将状态的反转,点击这个按钮将会在两个值间切换,选择和取消选择。
'''
运行界面: