首先因为单选按钮有一个特性(一个被选中后,自动清除其它按钮的选中状态)

所以使用方式也有点不同

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

错误示例

from tkinter import *

root = Tk()

r1 = Radiobutton(root, text="一号按钮")
r2 = Radiobutton(root, text="二号按钮")

r1.pack()
r2.pack()

root.mainloop()

结果

[tkinter]Radiobutton单选按钮的使用 Python 第1张

这样的话,两个单选按钮其实是“各自独立的”

正确的使用方法

from tkinter import *

root = Tk()

ButtonList = IntVar()  # IntVar 是tkinter的一个类,可以管理单选按钮

r1 = Radiobutton(root, variable=ButtonList, value=0, text="一号按钮")
r2 = Radiobutton(root, variable=ButtonList, value=1, text="二号按钮")
# variable=从属的“管理类” value=索引/ID
ButtonList.set(1)
# 设置选中的位置,如果越界则全部均不选中
# 有对应的get属性,用来获取选中项的索引
r1.pack()
r2.pack()

root.mainloop()

结果

[tkinter]Radiobutton单选按钮的使用 Python 第2张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄