美烦资源网

专注技术文章分享,涵盖编程教程、IT 资源与前沿资讯

小白之Tkinter库读文:基础组件-Checkbutton 复选框(9)

1.8 Checkbutton 复选框

说明

Checkbutton 是 Tkinter 中用于创建复选框的组件。用户可以通过点击复选框来选择或取消选择一个选项。复选框通常用于表单、设置界面等场景。


创建

check = tk.Checkbutton(root, text="Check", variable=var)
  • 作用:创建一个复选框对象。
  • 参数
    • root:父容器(通常是根窗口或其他容器)。
    • text:复选框旁边显示的文本。
    • variable:绑定一个变量(如 IntVar 或 BooleanVar),用于存储复选框的状态。

常用选项

以下是 Checkbutton 的常用配置选项:

text

  • 说明:设置复选框旁边显示的文本。
  • 示例
check = tk.Checkbutton(root, text="同意协议")

variable

  • 说明:绑定一个变量,用于存储复选框的状态。
  • 使用 IntVar 时,onvalue 和 offvalue 通常为 1 和 0。
  • 使用 BooleanVar 时,onvalue 和 offvalue 通常为 True 和 False。
  • 示例
var = tk.IntVar() 
check = tk.Checkbutton(root, text="同意协议", variable=var)

onvalue 和 offvalue

  • 说明:设置复选框选中和未选中时绑定的变量的值。
  • 示例
var = tk.IntVar() 
check = tk.Checkbutton(root, text="同意协议", variable=var, onvalue=1, offvalue=0)

command

  • 说明:设置复选框状态改变时触发的函数或方法。
  • 示例
def on_check(): print("复选框状态改变!") 
check = tk.Checkbutton(root, text="同意协议", command=on_check)

bg(background)

  • 说明:设置复选框的背景颜色。
  • 示例
check = tk.Checkbutton(root, text="同意协议", bg="lightblue")

fg(foreground)

  • 说明:设置复选框文本的颜色。
  • 示例
check = tk.Checkbutton(root, text="同意协议", fg="blue")

font

  • 说明:设置复选框文本的字体、大小和样式。
  • 示例
check = tk.Checkbutton(root, text="同意协议", font=("Arial", 12))

selectcolor

  • 说明:设置复选框选中时的背景颜色。
  • 示例
check = tk.Checkbutton(root, text="同意协议", selectcolor="yellow")

state

  • 说明:设置复选框的状态(如 "normal", "disabled")。
  • 示例
check = tk.Checkbutton(root, text="同意协议", state="disabled")

indicatoron

  • 说明:是否显示复选框的指示器(默认为 True)。
  • 示例
check = tk.Checkbutton(root, text="同意协议", indicatoron=False)

示例演示

以下是一个完整的示例,展示如何使用 Checkbutton 创建和配置复选框:

import tkinter as tk

# 创建根窗口
root = tk.Tk()
root.title("Checkbutton 示例")
root.geometry("300x200")

# 定义复选框状态改变时的回调函数
def on_check():
    if var.get() == 1:
        label.config(text="复选框已选中")
    else:
        label.config(text="复选框未选中")

# 创建变量,用于存储复选框的状态
var = tk.IntVar()

# 创建并配置复选框
check = tk.Checkbutton(root, text="同意协议", variable=var, onvalue=1, offvalue=0, command=on_check, bg="lightblue", fg="blue", font=("Arial", 12), selectcolor="yellow")
check.pack(pady=20)

# 创建标签,用于显示复选框状态
label = tk.Label(root, text="复选框未选中", font=("Arial", 12))
label.pack(pady=10)

# 启动主循环
root.mainloop()

代码说明

复选框

  • 显示文本“同意协议”。
  • 绑定变量 var,选中时值为 1,未选中时值为 0。
  • 背景颜色为浅蓝色,文本颜色为蓝色。
  • 字体为 Arial,大小为 12。
  • 选中时的背景颜色为黄色。
  • 状态改变时调用 on_check 函数。

标签

  • 显示复选框的当前状态。
  • 字体为 Arial,大小为 12。

回调函数

  • 当复选框状态改变时,更新标签文本。

运行效果



  1. 窗口大小为 300x200。
  2. 复选框显示文本“同意协议”。
  3. 点击复选框时,标签会显示“复选框已选中”或“复选框未选中”。
  4. 复选框的背景颜色和文本颜色根据配置显示。

注意事项

  • 使用 variable 可以方便地获取和设置复选框的状态。
  • 如果需要多个复选框,可以为每个复选框绑定不同的变量。

通过这个示例,你可以掌握 Checkbutton 的基本用法,并根据需要配置复选框的样式和行为。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言