[tkinter]Radiobutton

发布时间:2019-05-23 20:50:40编辑:auto阅读(2168)

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

    所以使用方式也有点不同

    错误示例

    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()

    结果

关键字