当前位置:首页>python>python高阶:20、tkinter库(Checkbutton组件)

python高阶:20、tkinter库(Checkbutton组件)

  • 2026-10-11 08:33:57
python高阶:20、tkinter库(Checkbutton组件)

1、tkinter库的导入和主窗口的创建

import tkinter as tk  #以别名tk导入tkinter库root=tk.Tk()    #创建主窗口的实例winroot.title("Frame组件测试窗口")    #设置窗口的标题root.geometry("200x200+600+200")#设置窗口的大小和位置root.resizable(True,False)      #设置窗口可水平缩放,禁止垂直缩放tk.mainloop()  #进入事件处理循环,防止窗口闪退

2、Checkbutton组件(类)

Tkinter中的Checkbutton组件,就是我们在图形界面里常说的复选框。它提供了一个可以点击的小方框,用来让用户从多个选项中,自由选择一个或多个,非常灵活。

(1)Checkbutton组件常用属性参数

属性
说明
text

设置复选框旁显示的文本

variable

关联 Tkinter 变量,自动存储状态

onvalue

指定选中状态时 variable 变量的值

offvalue

指定选中状态时 variable 变量的值

command

复选框状态改变时调用的回调函数

state

控制是否可交互

indicatoron

是否显示默认的方形指示器(勾选框)

selectcolor

指示器被选中时的前景色(即对勾的颜色)

bg

复选框的背景颜色

fg

复选框文本的颜色

font

文本的字体样式

width

复选框的宽度(字符数,若未设置则随文本)

height

复选框的高度(行数)

anchor

文本在可用空间内的对齐方式

image

在复选框旁显示的图像(替代文本)

import tkinter as tkroot = tk.Tk()     #创建主窗口root.title("Checkbutton组件")root.geometry("300x300+600+300")var1=tk.IntVar()var2=tk.IntVar()var3=tk.IntVar()#创建 Checkbutton 组件,并将组件放置到窗口中cb1=tk.Checkbutton(root,text="选项1",variable=var1,onvalue=1,offvalue=0)cb2=tk.Checkbutton(root,text="选项2",variable=var2,onvalue=1,offvalue=0)cb3=tk.Checkbutton(root,text="选项3",variable=var3,onvalue=1,offvalue=0)cb1.pack(pady=10)cb2.pack(pady=10)cb3.pack(pady=10)root.mainloop()  #事件循环

(2)Checkbutton组件常用方法

方法
说明
select
编程方式勾选复选框(将其状态设为"选中")
deselect

编程方式取消勾选

toggle

反转复选框的状态。如果当前是勾选的,则变为未勾选,反之亦然。

flash

让复选框闪烁一两次,通常用于视觉提示

invoke

调用与复选框关联的command回调函数,效果如同用户点击了它

import tkinter as tk#创建主窗口root = tk.Tk()root.title("Checkbutton组件")root.geometry("300x300+600+300")var1=tk.IntVar()var2=tk.IntVar()var3=tk.IntVar()def checkbutton():    state1=var1.get()    state2=var2.get()    state3=var3.get()    if state1==1 or state2==1 or state3==1:        label_status.config(text="复选框状态: 已选中")#创建 Checkbutton 组件,并将组件放置到窗口中cb1=tk.Checkbutton(root,text="选项1",variable=var1,onvalue=1,offvalue=0,command=checkbutton)cb2=tk.Checkbutton(root,text="选项2",variable=var2,onvalue=1,offvalue=0,command=checkbutton)cb3=tk.Checkbutton(root,text="选项3",variable=var3,onvalue=1,offvalue=0,command=checkbutton)cb1.pack(pady=10)cb2.pack(pady=10)cb3.pack(pady=10)#创建一个标签,用于显示实时状态label_status=tk.Label(root, text="复选框状态: 未选中")label_status.pack(pady=10)#使用按钮编程方式控制复选框def reset_check():    cb1.deselect()      cb2.deselect()    cb3.deselect()    label_status.config(text="复选框状态: 未选中")btn_reset=tk.Button(root,text="重置复选框",command=reset_check)btn_reset.pack(pady=5)root.mainloop()  #事件循环

最新文章

随机文章