小白学tkinter(单选Radiobutton组件)

#Radiobutton为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念.
'''1.创建一个简单的Radiobutton'''
from Tkinter import *
root = Tk()
Radiobutton(root,text = 'python').pack()
Radiobutton(root,text = 'tkinter').pack()
Radiobutton(root,text = 'widget').pack()
root.mainloop()
#不指定绑定变量,每个Radiobutton自成一组

'''2.创建一个Radiobutton组,使用绑定变量来设置选中的按钮'''
from Tkinter import *
root = Tk()
#创建一个Radiobutton组,创建三个Radiobutton,并绑定到整型变量v
#选中value=1的按钮
v = IntVar()
v.set(1)
for i in range(3):
    Radiobutton(root,variable = v,text = 'python',value = i).pack()

root.mainloop()
'''3.创建两个不同的组'''
from Tkinter import *
root = Tk()
vLang = IntVar()
vOS = IntVar()
vLang.set(1)
vOS.set(2)

for v in [vLang,vOS]:    #创建两个组
    for i in range(3):    #每个组含有3个按钮
        Radiobutton(root,
                    variable = v,
                    value = i,
                    text = 'python' + str(i)
                    ).pack()
root.mainloop()
#不同的组,各个按钮互不影响。
---------------------------------------
'''小甲鱼的例子'''
from tkinter import *
root = Tk()
v = IntVar()
v.set(1)     #要实现单选互斥的效果,
             #variable选项共享一个整型变量,
             #value需要设置不同的值
Radiobutton(root,text = '貂蝉',variable = v,value = 1).pack(anchor = W)
Radiobutton(root,text = '王昭君',variable = v,value = 2).pack(anchor = W)
Radiobutton(root,text = '杨玉环',variable = v,value = 3).pack(anchor = W)
Radiobutton(root,text = '西施',variable = v,value = 4).pack(anchor = W)
root.mainloop()


'''还可以写成循环版的'''
from tkinter import *
root = Tk()
girls = [('西施',1),('王昭君',2),('杨玉环',3),('貂蝉',4)]
v = IntVar() #tkinter专用整型变量
v.set(1) #设置v的值为1,值多少无所谓了,我的理解是第一组写1,第二组写2,一次递增
for girl,num in girls:
    #variable = v绑定了一个整型变量
    b = Radiobutton(root,text = girl,variable = v,value = num)
    b.pack(anchor = W)
root.mainloop()

你可能感兴趣的:(Tkinter学习,python,radio,button,tkinter,控件)