Radiobutton是一个标准的Python Tkinter组件,它用来实行多选1。 Radiobutton可以包含文字或者图像,你还可以将一个函数或者方法将button联系起来。当这个button被点击的时候,Tkinter会自动调用这个函数或者方法。
Radiobutton内button只能显示同一种字体,但是text可以显示一行或者多行文字。另外,你还可以对其中的一个字符设置下划线,用来表示关键字之类的。默认情况下,可以使用Tab键移动到button控件上。
每一组 Radiobutton控件手应该和同一个Tkinter变量联系起来。每个button代表这个变量可能取值中的一个。
Radiobutton内button只能显示同一种字体,但是text可以显示一行或者多行文字。另外,你还可以对其中的一个字符设置下划线,用来表示关键字之类的。默认情况下,可以使用Tab键移动到button控件上。
每一组 Radiobutton控件手应该和同一个Tkinter变量联系起来。每个button代表这个变量可能取值中的一个。
Radiobutton控件非常类似复选按钮。为了保证Radiobutton控件可以正常工作买确保同一组里的Radiobutton控件都纸箱同一个变量,你可以使用value选项来指定button代表的具体值。
from Tkinter import *
master = Tk()
v = IntVar()
Radiobutton(master, text="One", variable=v, value=1).pack(anchor=W)
Radiobutton(master, text="Two", variable=v, value=2).pack(anchor=W)
mainloop()
效果如下:
如果当按钮值发生改变时,你希望得到通知,你可以使用command选项为每个选择按钮来制定一个回调函数。
当有多个选项需要创建时,你应该使用类似下面的循环。
from Tkinter import *
master = Tk()
MODES = [
("Monochrome", "1"),
("Grayscale", "L"),
("True color", "RGB"),
("Color separation", "CMYK"),
]
v = StringVar()
v.set("L") # initialize
for text, mode in MODES:
b = Radiobutton(master, text=text,
variable=v, value=mode)
b.pack(anchor=W)
mainloop()
运行效果如下:
如果你想创建另外形式的选择按钮,可以使用 indicatoron=0这个选项,它将会以下面的形式创建: