16-Tkinter 组件-Checkbutton多选框

Checkbutton多选框

多选框控件;用于在程序中提供多项选择框

Python Tkinter 复选框用来选取我们需要的选项,它前面有个小正方形的方块,如果选中则有一个对号,也可以再次点击以取消该对号来取消选中。

语法

语法格式如下:

w = Checkbutton(master, option=value, ...)
  • master: 按钮的父容器。
  • options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。
可选项描述
activebackground当鼠标放上去时,按钮的背景色
activeforeground当鼠标放上去时,按钮的前景色
bg按钮的背景色
bitmap位图
bd边框的大小,默认为 2 个像素
command关联的函数,当按钮被点击时,执行该函数
cursor光标的形状设定,如arrow, circle, cross, plus 等
disabledforeground禁用选项的前景色
font文本字体
fg选项的前景色
height复选框文本行数,默认为 1。
highlightcolor聚焦的高亮颜色
image是否使用图标
justify显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER
offvalue未选中时的值,不仅仅是 1 或 0,可以是其他类型的数值,可以通过 onvalue 和 offvalue 属性设置 Checkbutton 的状态值。
onvalue选中时的值,不仅仅是 1 或 0,可以是其他类型的数值,可以通过 onvalue 和 offvalue 属性设置 Checkbutton 的状态值。
padx按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离,默认为 1 像素。
pady按钮在y轴方向上的内边距(padding),默认为 1 像素。
relief边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。
selectcolor选中后的颜色,默认为 selectcolor=“red”。
selectimage选中后的图片
state状态,默认为 state=NORMAL,如果是disabled表示无法被选取使用,如果是hidden表示被隐藏
text显示的文本,使用 “\n” 来对文本进行换行。
underline下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,前两个字符带下划线,以此类推
variable变量,variable 的值为 1 或 0,代表着选中或不选中
width默认宽度是复选框的文本或图像决定的,你可以设置指定字符数。
wraplength是否设置包裹。
方法

以下为常用的方法:

序号方法 & 描述
deselect()清除复选框选中选项。
flash()在激活状态颜色和正常颜色之间闪烁几次单选按钮,但保持它开始时的状态。
invoke()可以调用此方法来获得与用户单击单选按钮以更改其状态时发生的操作相同的操作
select()设置按钮为选中。
toggle()选中与没有选中的选项互相切换
实例

实例中点击按钮会显示一个信息:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
from Tkinter import *
import tkMessageBox
import Tkinter
 
top = Tkinter.Tk()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
C1 = Checkbutton(top, text = "RUNOOB", variable = CheckVar1, onvalue = 1, offvalue = 0, height=5, width = 20)
C2 = Checkbutton(top, text = "GOOGLE", variable = CheckVar2, onvalue = 1, offvalue = 0, height=5, width = 20)
C1.pack()
C2.pack()
top.mainloop()

多选框允许我们从 n 个选项中选择 1 - n 个选项。在下面的示例中,我们创建了一个字典存储不同的爱好,同样创建了 n 个多选框实例,并且将值依次存入 dic_hobby

# 选择爱好
hobbys = {0: '唱歌', 1: '跳舞', 2: '篮球', 3: '足球', 4: '绘画'}
dic_hobby = {}

for i in range(len(hobbys)):
    dic_hobby[i] = tk.BooleanVar()
    cbtn_hobby = tk.Checkbutton(window, text=hobbys[i], variable=dic_hobby[i])
    cbtn_hobby.place(x=100 + i * 60, y=110)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当挖目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值