跟小王一起学Checkbutton,Radiobutton组件

欢迎回来,上篇我们讲到Button组件可以在窗口中添加按钮属性,实现简单的人机交互。在这一篇中,我们来说Checkbutton组件以及Radiobutton组件,这次机器给我们提供了更多的选项。

Checkbutton组件

Checkbutton(多选按钮)组件用于实现确定是否选择的按钮。Checkbutton 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。

Checkbutton 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷键)。默认情况下,tab 按键被用于在按钮间切换。

函数及方法
Checkbutton组件的使用方法可以参照Button组件,下面小王把该组件的一些选项附在下面:
图源:近视的脚踏实地图源:近视的脚踏实地
图中很多的选项与Button组件中的用法相同,小王也不在这过多言语。

activeforeground,activebackground与bg,fg不同的地方在于 它们俩仅设置了按下时的颜色变化,当松开鼠标,选择框颜色回归原态。

例如:

Checkbutton(master, text="你喜欢Python吗",\ variable=var, onvalue="T", \offvalue="F",activebackground = 'red',activeforeground ='green').pack()

这一段代码运行出的结果如下:
在这里插入图片描述
在这里插入图片描述
deselect()
取消 Checkbutton 组件的选中状态,也就是设置 variable 为 offvalue。

flash()
刷新 Checkbutton 组件,该方法将重绘 Checkbutton 组件若干次(在"active" 和 “normal” 状态间切换)。

invoke()
调用 Checkbutton 中 command 选项指定的函数或方法,并返回函数的返回值。
如果 Checkbutton 的state(状态)"disabled"是 (不可用)或没有指定 command 选项,则该方法无效。

select()
将 Checkbutton 组件设置为选中状态,也就是设置 variable 为 onvalue。

toggle()
切换 Checkbutton 组件的状态(选中 -> 未选中 / 未选中 -> 选中)

一个Checkbutton组件一般只能进行一组“是”与“非”的选择,因为在默认情况下,variable 选项在选中状态时值为1,反之则为零为 0。
小王在这写了个简单的程序帮助大家理解:


from tkinter import *
 
master = Tk()
 
'''使用组件写出一个选项'''
v = IntVar()
c = Checkbutton(master, text="你喜欢Python吗",variable = v)
c.pack()

'''输出勾选前后Variable值的变化'''
l = Label(master,textvariable = v)
l.pack()
 
mainloop()

运行结果如下:

未选中时👇

在这里插入图片描述

选中后👇

在这里插入图片描述
单纯的是与非的选择题在生活中并不常用,毕竟成年人的世界里流行着“我全都要”这句话,那么我们就可以把Radiobutton组件请出来了。

Radiobutton组件

Radiobutton组件可以看成选项更多的Checkbutton组件。他们的函数与方法大致相同。

下面我们就直接用代码来进一步认识它:


from tkinter import *
 
root = Tk()
v=IntVar()

'''设置三个选择项(当然也可以用For循环来设置)'''
Radiobutton(root,text="one",variable=v,value=1).pack(anchor=W)
Radiobutton(root,text="Two",variable=v,value=2).pack(anchor=W)
Radiobutton(root,text="Three",variable=v,value=3).pack(anchor=W)

mainloop()

运行结果如下:
在这里插入图片描述
Radiobutton组件可以实现“多选一”的原理与Checkbutton组件类似,同样也是设置variable值。当选择某一项时,Variable获得一个值,当选择新的选项是,由于前后Variable值的不相同以及循环刷新体制的存在,前一个选择将会被取消,Variable将会获得新选项对应的值。

找对方法不头凉,关注小王有人帮
下一期咱们讲Entry组件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值