小白学tkinter(单选Radiobutton组件)

xiaoxiao2021-02-27  123

#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()
转载请注明原文地址: https://www.6miu.com/read-13419.html

最新回复(0)