Tkinter的Radiobutton组件
Radiobutton组件跟Checkbutton的用法基本一致,唯一不同的是Radiobutton实现的是单选的效果
要实现这种互斥额效果:
同一组内的所有Radiobutton只能共享一个variable选项,并且需要设置不同的value选项值
#导入模块
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)
Radiobutton(master, text="Three", variable=v, value=3).pack(anchor=W)
mainloop()
pack()的ancher选项:
用于指定显示位置,可以设置为N,NE,E,SE,S,SW,W,NW,CENTER,这与地理中表示位置一样
运行上述代码:
、
如果有多个选项,可以使用循环来处理,这会使得代码更加简洁
from tkinter import *
master = Tk()
LANGS = [
("Python", 1),
("Perl", 2),
("Ruby", 3),
("Lua", 4)]
v = IntVar()
v.set(1)
for lang, num in LANGS:
b = Radiobutton(master, text=lang, variable=v, value=num)
b.pack(fill=X)
mainloop()
如果不喜欢前面这个小圈圈,还可以改成按钮的形式:
将indicatoron设置为False即可去掉前面的小圈圈
from tkinter import *
master = Tk()
LANGS = [
("Python", 1),
("Perl", 2),
("Ruby", 3),
("Lua", 4)]
v = IntVar()
v.set(1)
for lang, num in LANGS:
b = Radiobutton(master, text=lang, variable=v, value=num, indicatoron=False)
b.pack(fill=X)
mainloop()
运行: