优秀的编程知识分享平台

网站首页 > 技术文章 正文

小白之Tkinter库读文:基础组件-Radiobutton 单选按钮(10)

nanyue 2025-03-13 18:39:31 技术文章 3 ℃

1.9 Radiobutton 单选按钮

说明

Radiobutton 是 Tkinter 中用于创建单选按钮的组件。单选按钮通常用于让用户从多个选项中选择一个,且同一组单选按钮中只能选择一个选项。


创建

radio = tk.Radiobutton(root, text="Option", variable=var, value=1)
  • 作用:创建一个单选按钮对象。
  • 参数
    • root:父容器(通常是根窗口或其他容器)。
    • text:单选按钮旁边显示的文本。
    • variable:绑定一个变量(如 IntVar 或 StringVar),用于存储选中的值。
    • value:该单选按钮被选中时,绑定的变量的值。

常用选项

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

text

  • 说明:设置单选按钮旁边显示的文本。
  • 示例
radio = tk.Radiobutton(root, text="选项 1")

variable

  • 说明:绑定一个变量,用于存储选中的单选按钮的值。
  • 同一组单选按钮应绑定到同一个变量。
  • 示例
var = tk.IntVar() 
radio1 = tk.Radiobutton(root, text="选项 1", variable=var, value=1) 
radio2 = tk.Radiobutton(root, text="选项 2", variable=var, value=2)

value

  • 说明:设置该单选按钮被选中时,绑定的变量的值。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", variable=var, value=1)

command

  • 说明:设置单选按钮被选中时触发的函数或方法。
  • 示例
def on_select(): 
    print("选项被选中!") 
radio = tk.Radiobutton(root, text="选项 1", command=on_select)

bg(background)

  • 说明:设置单选按钮的背景颜色。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", bg="lightblue")

fg(foreground)

  • 说明:设置单选按钮文本的颜色。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", fg="blue")

font

  • 说明:设置单选按钮文本的字体、大小和样式。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", font=("Arial", 12))

selectcolor

  • 说明:设置单选按钮选中时的背景颜色。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", selectcolor="yellow")

state

  • 说明:设置单选按钮的状态(如 "normal", "disabled")。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", state="disabled")

indicatoron

  • 说明:是否显示单选按钮的指示器(默认为 True)。
  • 示例
radio = tk.Radiobutton(root, text="选项 1", indicatoron=False)

示例演示

以下是一个完整的示例,展示如何使用 Radiobutton 创建和配置单选按钮:

import tkinter as tk

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

# 定义单选按钮被选中时的回调函数
def on_select():
    selected_value = var.get()
    label.config(text=f"选中的选项是:{selected_value}")

# 创建变量,用于存储选中的值
var = tk.IntVar()

# 创建并配置单选按钮
radio1 = tk.Radiobutton(root, text="选项 1", variable=var, value=1, command=on_select, bg="lightblue", fg="blue", font=("Arial", 12), selectcolor="yellow")
radio1.pack(pady=10)

radio2 = tk.Radiobutton(root, text="选项 2", variable=var, value=2, command=on_select, bg="lightblue", fg="blue", font=("Arial", 12), selectcolor="yellow")
radio2.pack(pady=10)

radio3 = tk.Radiobutton(root, text="选项 3", variable=var, value=3, command=on_select, bg="lightblue", fg="blue", font=("Arial", 12), selectcolor="yellow")
radio3.pack(pady=10)

# 创建标签,用于显示选中的值
label = tk.Label(root, text="请选择一个选项", font=("Arial", 12))
label.pack(pady=10)

# 启动主循环
root.mainloop()

代码说明

单选按钮

  • 显示文本“选项 1”、“选项 2”和“选项 3”。
  • 绑定变量 var,选中时值分别为 1、2 和 3。
  • 背景颜色为浅蓝色,文本颜色为蓝色。
  • 字体为 Arial,大小为 12。
  • 选中时的背景颜色为黄色。
  • 选中时调用 on_select 函数。

标签

  • 显示选中的单选按钮的值。
  • 字体为 Arial,大小为 12。

回调函数

  • 当单选按钮被选中时,更新标签文本。

运行效果



  1. 窗口大小为 300x200。
  2. 单选按钮显示文本“选项 1”、“选项 2”和“选项 3”。
  3. 点击单选按钮时,标签会显示选中的选项的值。
  4. 单选按钮的背景颜色和文本颜色根据配置显示。

注意事项

  • 同一组单选按钮应绑定到同一个变量。
  • 使用 variable 可以方便地获取和设置选中的值。

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

最近发表
标签列表