11 Radiobutton组件

11 Radiobutton组件

Tkinter 是 Python 的标准图形用户界面库,它提供了一个 Radiobutton 控件,用于在一组选项中让用户选择一个选项。Radiobutton 通常用于提供一组互斥的选项,用户只能选择其中一个。

Radiobutton 组件基础

Radiobutton 控件通常与一个变量(通常是 IntVarStringVar)一起使用,该变量保存当前选中的值。当一个 Radiobutton 被选中时,它会更新这个变量的值。

Radiobutton 组件属性

  • variable: 与 Radiobutton 关联的变量,用于存储当前选中的值。
  • value: 当 Radiobutton 被选中时,variable 变量将被设置的值。
  • text: Radiobutton 旁边显示的文本。
  • command: 当 Radi按钮被选中时,会调用的回调函数。
  • indicatoron: 控制 Radiobutton 的指示器(圆圈)是否显示。
  • onvalueoffvalue: 分别设置变量的值当 Radiobutton 被选中和未被选中时。

两种形状的 Radiobutton

圆形 Radiobutton

圆形 Radiobutton 是 Tkinter 默认的样式。下面是一个创建圆形 Radiobutton 的示例代码:

在这里插入图片描述

import tkinter as tk  # 导入tkinter模块,并给它一个简短的别名tk

# 创建主窗口
root = tk.Tk()  # 创建Tkinter的主窗口实例
root.title("圆形 Radiobutton 示例")  # 设置窗口标题为“圆形 Radiobutton 示例”

# 创建一个 StringVar 对象,用于存储 Radiobutton 的值
radio_var = tk.StringVar()  # 创建一个StringVar对象,它用于存储Radiobutton的值,并且当值改变时可以通知界面更新

# 创建圆形 Radiobutton 控件
radio1 = tk.Radiobutton(root, text="选项 1", variable=radio_var, value="1")  # 创建第一个Radiobutton,设置文本为“选项 1”,与radio_var变量关联,选中时变量值为"1"
radio1.pack()  # 使用pack布局管理器将第一个Radiobutton添加到窗口中

radio2 = tk.Radiobutton(root, text="选项 2", variable=radio_var, value="2")  # 创建第二个Radiobutton,设置文本为“选项 2”,与radio_var变量关联,选中时变量值为"2"
radio2.pack()  # 使用pack布局管理器将第二个Radiobutton添加到窗口中

radio3 = tk.Radiobutton(root, text="选项 3", variable=radio_var, value="3")  # 创建第三个Radiobutton,设置文本为“选项 3”,与radio_var变量关联,选中时变量值为"3"
radio3.pack()  # 使用pack布局管理器将第三个Radiobutton添加到窗口中

# 启动事件循环
root.mainloop()  # 进入Tkinter的事件循环,使窗口保持打开状态并响应事件

矩形 Radiobutton

使用 tk.Radiobutton 控件创建看起来像矩形的 Radiobutton。关键在于使用 indicatoron=False 参数隐藏了默认的圆圈指示器,从而使得 Radiobutton 控件看起来更接近矩形形状。
在这里插入图片描述

import tkinter as tk   # 导入tkinter模块,并给它一个简短的别名tk

# 创建主窗口
root = tk.Tk()   # 创建Tkinter的主窗口实例
root.title("矩形 Radiobutton 示例")   # 设置窗口标题为“矩形 Radiobutton 示例”

# 创建一个 StringVar 对象,用于存储 Radiobutton 的值
radio_var = tk.StringVar()   # 创建一个StringVar对象,它用于存储Radiobutton的值,并且当值改变时可以通知界面更新

# 创建 Radiobutton 控件
# 第一个参数是父容器,这里是 root
# text 参数是显示的文本
# variable 参数是与 Radiobutton 关联的变量
# value 参数是当这个 Radiobutton 被选中时,variable 变量的值
# indicatoron 参数设置为 False,隐藏默认的圆圈指示器
radio1 = tk.Radiobutton(root, text="选项 1", variable=radio_var, value="1", indicatoron=False)   # 创建第一个Radiobutton,设置文本为“选项 1”,与radio_var变量关联,选中时变量值为"1",隐藏圆圈指示器
radio1.pack()   # 使用pack布局管理器将第一个Radiobutton添加到窗口中

radio2 = tk.Radiobutton(root, text="选项 2", variable=radio_var, value="2", indicatoron=False)   # 创建第二个Radiobutton,设置文本为“选项 2”,与radio_var变量关联,选中时变量值为"2",隐藏圆圈指示器
radio2.pack()   # 使用pack布局管理器将第二个Radiobutton添加到窗口中

radio3 = tk.Radiobutton(root, text="选项 3", variable=radio_var, value="3", indicatoron=False)   # 创建第三个Radiobutton,设置文本为“选项 3”,与radio_var变量关联,选中时变量值为"3",隐藏圆圈指示器
radio3.pack()   # 使用pack布局管理器将第三个Radiobutton添加到窗口中

# 启动事件循环
root.mainloop()   # 进入Tkinter的事件循环,使窗口保持打开状态并响应事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值