首先因为单选按钮有一个特性(一个被选中后,自动清除其它按钮的选中状态)
所以使用方式也有点不同
错误示例
from tkinter import * root = Tk() r1 = Radiobutton(root, text="一号按钮") r2 = Radiobutton(root, text="二号按钮") r1.pack() r2.pack() root.mainloop()
结果
这样的话,两个单选按钮其实是“各自独立的”
正确的使用方法
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()
结果