欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tkinter之checkbutton

程序员文章站 2022-05-28 22:21:50
...

等会要上数据结构课了。好烦啊。不能继续学习了。

这次学习的是复选框(应该是叫这个吧??)

敲代码的时候除了点问题。checkbutton的两个参数onvalue和offvalue不能够改名字的,我把最基本的传参都给忘了。

这里我用了for,和教程不一样。

个人感觉这个教程还是不错的。附上链接:点击打开链接

感谢同龄的大神们对知识的施舍。小弟不胜感激。


我的源码:

import tkinter as tk

window=tk.Tk()
window.title('checkbutton')
window.geometry('400x400')


#定义label用于显示
l=tk.Label(window,
            bg='red',
            width=40,height=2,
            text='u have not chosen anything yet')
l.pack()

def print_selection():
    if (op_mark[0].get()==1)&(op_mark[1].get()==1):
        l.config(text='你怎么两个人通吃啊!')
    elif(op_mark[0].get()==1)&(op_mark[1].get()==0):
        l.config(text='啊哈!我也喜欢成成!')
    elif(op_mark[0].get()==0)&(op_mark[1].get()==1):
        l.config(text='谁让你喜欢冉冉的,成成才能喜欢冉冉!')
    else:
        l.config(text='快选啊~我还等着你呢、')


ops=['成成','冉冉']
op_mark=[tk.IntVar(),tk.IntVar()]
#这里注意onvalue和offvalue不能改名字,只能用这两个名字!我就被坑了。。
for i in range(len(ops)):
    cb=tk.Checkbutton(window,
                   text=ops[i],
                   variable=op_mark[i],
                   offvalue=0,
                   command=print_selection)
    cb.pack()

#下面的是没用for做的。
# def print_selection():
#     if (var1.get()==1)&(var2.get()==1):
#         l.config(text='你怎么两个人通吃啊!')
#     elif(var1.get()==1)&(var2.get()==0):
#         l.config(text='啊哈!我也喜欢成成!')
#     elif(var1.get()==0)&(var2.get()==1):
#         l.config(text='谁让你喜欢冉冉的,成成才能喜欢冉冉!')
#     else:
#         l.config(text='快选啊~我还等着你呢、')
# ops=['成成','冉冉']

# var1=tk.IntVar()
# var2=tk.IntVar()
# cb1=tk.Checkbutton(window,
#                 text=ops[0],
#                 variable=var1,#选定或不选定存放在var1这个变量里面。
#                 onvalue=1,#如果选定了,那么var1的值就是1
#                 offvalue=0,#如果没有选定,那var1的值就是0
#                 command=print_selection)
# cb1.pack()
# cb2=tk.Checkbutton(window,
#                 text=ops[1],
#                 variable=var2,#选定或不选定存放在var2这个变量里面。
#                 onvalue=1,#如果选定了,那么var2的值就是1
#                 offvalue=0,#如果没有选定,那var2的值就是0
#                 command=print_selection)
# cb2.pack()

tk.mainloop()

运行结果:

没进行勾选时候:

tkinter之checkbutton

勾选后:

tkinter之checkbutton

或者:

tkinter之checkbutton

或者:

tkinter之checkbutton

全不选:

tkinter之checkbutton

继续继续,学习学习!

相关标签: tkinter