Checkbutton 组件
复选框:可以同时多选的一组框,其只有两种状态,选中与未选中。
基本用法与可选属性
基本用法
基本用法:Checkbutton(根对象, [属性列表])
根对象:在那个窗体显示,例如主窗体。
属性列表:是可选的属性=属性值组成。
可选属性
属性 | 说明 |
---|---|
text | 标签显示的文本 |
font | 设置文本的字体和大小 |
fg(foreground) | 字体的颜色, |
bg (background) | 标签的背景色 |
width | 标签的宽度(一个中文的字体宽为单位) |
height | 标签的高度(一个中文的字体高为单位) |
cursor | 鼠标的样式 |
padx | 文字到边框的距离,水平方向 |
pady | 文字到边框的距离,垂直方向 |
bd(borderwidth) | 边框的宽度 |
relief | 边框的样式 |
justify | 文本对齐方式 |
image | 图片 |
compound | 图片与文字的混搭 |
anchor | 方位 |
variable | 控制变量 |
state | 组件的状态,正常:normal 禁用:disabled |
selectcolor | 选中框内的颜色 |
专有方法
方法 | 作用 |
---|---|
.select() | 设置为选中 |
.delect() | 设置为未选中 |
.toggle() | 切换选中状态 |
简单案例
python
import tkinter as tk
root = tk.Tk()
root.geometry("500x300+100+100")
# 需要一个Tkinter变量,用于表示该按钮是否被选中
v = tk.IntVar()
c = tk.Checkbutton(root, text="测试一下", variable=v)
c.pack()
# 将 Label 设置为可变变量
label = tk.Label(textvariable=v)
label.pack()
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
当单击选项时,Label 显示的变量相应地发生了改变
简单复选框案例
有了前面的基础,下面写一个古代四大美女的程序:
python
import tkinter as tk
root = tk.Tk()
root.geometry("500x300+100+100")
girls = ['西施', '王昭君', '貂蝉', '杨玉环']
# 创建可变变量容器
v = [tk.IntVar(), tk.IntVar(), tk.IntVar(), tk.IntVar()]
# # 提前选择内容
# v[3].set(1)
for index in range(4):
c = tk.Checkbutton(root, text=girls[index], variable=v[index])
c.pack(anchor='w')
def get_value():
# 默认打印的是文字对象
# print(v)
print([i.get() for i in v])
button = tk.Button(text='获取参数', command=get_value)
button.pack()
root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27