You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Tkinter如何获取单选按钮组的IntVar值?

解决Tkinter单选按钮无法用get()获取选中值的问题

你的问题核心是错误地使用了普通数字作为Radiobutton的variable参数——Tkinter的单选按钮要求variable必须是它自带的变量类型(比如IntVar或StringVar),普通数字不具备get()方法,所以没法获取选中状态。

修正步骤及完整示例

  1. 先为每组单选按钮创建对应的Tkinter变量
  2. 将Radiobutton的variable参数替换为这些变量
  3. 之后就可以通过变量.get()获取选中的值了

完整代码示例:

from tkinter import Tk, Radiobutton, Button

mainframe = Tk()

# 为两组单选按钮分别创建IntVar变量
group1_var = IntVar()
group2_var = IntVar()

# 绑定变量到对应的单选按钮组
radio1 = Radiobutton(mainframe, text='rbutton1', value=1, variable=group1_var)
radio2 = Radiobutton(mainframe, text='rbutton2', value=2, variable=group1_var)
radio3 = Radiobutton(mainframe, text='rbutton3', value=3, variable=group2_var)
radio4 = Radiobutton(mainframe, text='rbutton4', value=4, variable=group2_var)

# 定义获取选中值的函数
def get_selected_values():
    selected_group1 = group1_var.get()
    selected_group2 = group2_var.get()
    print(f"第一组选中的单选按钮值:{selected_group1}")
    print(f"第二组选中的单选按钮值:{selected_group2}")

# 布局组件
radio1.pack(pady=2)
radio2.pack(pady=2)
radio3.pack(pady=2)
radio4.pack(pady=2)
Button(mainframe, text="查看选中项", command=get_selected_values).pack(pady=5)

mainframe.mainloop()

额外说明

  • 同一组的单选按钮必须绑定同一个变量,这样才能实现“单选”逻辑(同一组内只能选中一个)
  • 如果需要设置默认选中项,可以在创建变量后用group1_var.set(1)这种方式指定初始值

内容的提问来源于stack exchange,提问作者PsyOrc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:17:30