Python tkinter - 第9章 多选按钮控件(Checkbutton)属性

第9章 多选按钮控件(Checkbutton)
多选按钮控件,也叫检查按钮控件,是用于实现ON-OFF选择的标准控件。多选按钮的提示信息可以是文字,也可以是图像。每个多选按钮都可以设置独立的回调函数,以实现特定的处理。也可以多个多选按钮共同使用一个回调函数。
提示文本只能使用一种字体,但可以跨行显示。与单选按钮不一样的是,每个多选按钮需要与一个变量相关联。 多选按钮控件用于在两个不同的值之间进行选择(通常是打开或关闭功能)。
9.1 多选按钮控件的属性

选项 描述
activebackground 当鼠标左键按下时,多选按钮的背景色
activeforeground 当鼠标左键按下时,多选按钮的前景色(文本颜色)
anchor 控制文本或者图片如何摆放。可以使用的数值有:
N, NE, E, SE, S, SW, W, NW, or CENTER. 默认值是CENTER.
backgroud
bg
多选按钮的背景色
bitmap 背景图片
borderwidth
bd
边框的大小,默认为 2 个像素
command 设置关联的函数,当多选按钮被点击时,执行该函数
cursor 光标的形状设定,如arrow, circle, cross, plus 等
disabledforeground 禁用多选按钮时的前景色
font 设置文本字体
foreground
fg
多选按钮的前景色(文本颜色)
height 多选按钮的高度,默认为 1行。
highlightcolor 多选按钮获得输入焦点时的高亮颜色
highlightbackground 多选按钮失去输入焦点时背景颜色
highlightthickness 获得或者失去输入焦点的高亮边框宽度
indicatoron 控制indicator的状态。默认是True。如果是False,则表示使用按压式按钮。
image 背景图片
justify 显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER
offvalue 多选按钮的值不仅仅是 1 或 0,可以是其他类型的数值,可以通过 onvalue 和 offvalue 属性设置 多选按钮的状态值。
offrelief 多选按钮状态为off时的修饰效果。默认值是RAISED
onvalue 多选按钮的值不仅仅是 1 或 0,可以是其他类型的数值,可以通过 onvalue 和 offvalue 属性设置 多选按钮的状态值。
overrelief 鼠标位于多选按钮上方时的显示效果。
padx 多选按钮在x轴方向上的内边距(padding),默认为 1 个像素。
pady 多选按钮在y轴方向上的内边距(padding),默认为 1 个像素。
relief 设置显示效果,就是控件的3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。
selectcolor 指示符的背景颜色
selectimage 选中后的图片
state 多选按钮状态,默认为 state=NORMAL
text 设置提示文本,使用 “\n” 来对文本进行换行。
takefocus 表示可以使用Tab键移动焦点到该多选按钮。默认值是空字符串。
textvariable 关联的tkinter变量,一般是StringVar类型。如果该变量改变,则这个按钮的文本会更新。
underline 下划线。默认提示文本都不带下划线。取值就是带下划线的字符串索引,从 0开始
variable 多选按钮的变量,variable 的值为 1 或 0,代表着选中或不选中
width 默认宽度是多选按钮的文本或图像决定的,可以设置指定字符数。
wraplength 设置多选按钮的折行显示。单位是像素

9.1.1 activebackground 和activeforeground
activebackground是鼠标左键按下时,多选按钮的背景颜色,鼠标键释放后,恢复初始颜色。activeforeground是鼠标左键按下时,多选按钮的文本颜色,鼠标键释放后,恢复初始颜色

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,
                    text='选择1',
                    activebackground='red',
                    activeforeground='yellow')
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
9.1.2 anchor
用法和第八章的单选按钮是一样的。具体可以参考8.1.2节的说明。这里只附上代码和结果。

#pack 布局
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,
                    text='选择1',anchor=tk.S+tk.W)
b1.pack(fill=tk.BOTH,expand=True)
root.mainloop()
#grid布局:
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
b1 = tk.Checkbutton(root,
                    text='选择1',anchor=tk.S+tk.W)
b1.grid(row=0,column=0
  • 15
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值