切换视频源:

Checkbutton 勾选项

作者: 潘雨 (Mr_Pan) 编辑: 莫烦 2016-11-03

学习资料:

运行之后的效果将会像下面的图片一样,此时不作任何操作.

2-06-01.jpg

如果只选中第一个选项,即图中的python, 效果就会如下.

2-06-02.jpg

如果只选中第二个选项,即图中的c++, 效果就会如下.

2-06-03.jpg

如果两个选项都选中, 效果就会如下.

2-06-04.jpg

如果两个选项都不选中, 效果就会如下.

2-06-05.jpg

Checkbutton部件

var1 = tk.IntVar()
c1 = tk.Checkbutton(window, text='Python', variable=var1, onvalue=1, offvalue=0,
                    command=print_selection)
c1.pack()

参数onvalue和前面讲的部件radiobutton中的value相似, 当我们选中了这个checkbutton,onvalue的值1就会放入到var1中, 然后var1将其赋值给参数variableoffvalue用法相似,但是offvalue是在没有选中这个checkbutton时,offvalue的值1放入var1,然后赋值给参数variable 这是创建一个checkbutton部件,以此类推,可以创建多个checkbutton

触发功能

def print_selection():
    if (var1.get() == 1) & (var2.get() == 0):   #如果选中第一个选项,未选中第二个选项
        l.config(text='I love only Python ')
    elif (var1.get() == 0) & (var2.get() == 1): #如果选中第二个选项,未选中第一个选项
        l.config(text='I love only C++')
    elif (var1.get() == 0) & (var2.get() == 0):  #如果两个选项都未选中
        l.config(text='I do not love either')
    else:
        l.config(text='I love both')             #如果两个选项都选中

相对于前面学过的 print_selection,这一段比较长,其实功能差不多,只不过加了if...elif...else来选择控制而已即如代码注释,config在前面已经讲过就是将参数text的值显示,这里的var1.get() == 1 就是前面所说的var1获得的变量onvalue=1var1.get() == 0即是var1获得的变量offvalu=0同理var2也是如此。

再补充一下 Tkinter 的必备步骤, 整个框架的全部代码就完美了.

降低知识传递的门槛

莫烦的对教育的态度是: 降低知识传递的门槛,不希望给"学习"设置金钱障碍。 这是我花大量业余时间贡献 免费 AI分享的原因。 通过 【赞助】 能及时让我看到你对 【莫烦态度】 的认同,我也更有理由坚持下去。

如果你当前目标是找工作或者转行AI,想接受更加丰富的教学资源、培训辅导体验,我想推荐我的朋友 七月在线 给你, 通过这个 【莫烦Python为你提供的注册链接】, 你将可以获得莫烦专门为你协商的课程优惠券。祝你找/换工作顺利~



    窗口视窗 (Tkinter)