tkintertkinter.Checkbutton 复选框/多选按钮组件,测试输出复选框对应的按钮文字,以及改变多选按钮本身默认选中状态值 onvalue=111 | 取消复选框的选中状态 → C0.deselect()
# -*- coding: utf-8 -*-
import tkinter
root=tkinter.Tk()
root.geometry("800x600+100+100")
##############################################
# 提前声明1个数据列表
List1=["张三","李四","王五"]
def ShowSelectValue():
# 这个↓放这里的目的是为了每次点击按钮执行函数之前,都要清空重置一次列表选择。
SelectList = []
listV=[Var0.get(),Var1.get(),Var2.get()]
print("你选择的列表为:",end="")
for i in listV:
if(i!=0):
if(i==111):
SelectList.append(List1[0])
elif (i == 222):
SelectList.append(List1[1])
elif (i == 333):
SelectList.append(List1[2])
print(SelectList)
pass
def ResetSelect():
C0.deselect()
C1.deselect()
C2.deselect()
Var0 = tkinter.IntVar()
C0 = tkinter.Checkbutton(root, text=List1[0], variable=Var0,onvalue=111)
C0.pack()
Var1 = tkinter.IntVar()
C1 = tkinter.Checkbutton(root, text=List1[1], variable=Var1,onvalue=222)
C1.pack()
Var2 = tkinter.IntVar()
C2 = tkinter.Checkbutton(root, text=List1[2], variable=Var2,onvalue=333)
C2.pack()
Btn1=tkinter.Button(root,text="显示全部勾选情况",command=ShowSelectValue)
Btn1.pack()
Btn1=tkinter.Button(root,text="重置全部勾选",command=ResetSelect)
Btn1.pack()
##############################################
root.mainloop()
————————
点击3次,输出结果:
你选择的列表为:['张三', '李四']
你选择的列表为:['张三', '李四', '王五']
你选择的列表为:['张三', '李四']