python的GUI编程(Tkinter库)(二)

来源:互联网 发布:烽火体育淘宝 编辑:程序博客网 时间:2024/05/29 18:01

单选按钮

单选按钮是一组排他性的选择框,只能从该组中选择一个选项,当选择了其中一个后,变回取消其他的选项的选择
必选将一组单选按钮与一个相同的变量关联起来,有用户选择不同的值
示例:

root=Tk()root.title('top')foo=IntVar()for text,value in[('red',1),('green',2),('black',3),('blue',4),('yellow',5)]:    r=Radiobutton(root,text=text,value=value,variable=foo)    r.pack(anchor=W)foo.set(2)root.mainloop()

结果:
这里写图片描述

Radiobutton组件额参数

varible 单选索引变量,通过变量的值确定哪个单选按钮被选中,一组单选按钮使用同一个索引变量
value 单选按钮选中时变量的值
command 单选按钮选中时执行的命令

复选按钮(Checkbutton)

每一按钮都需要与一个变量相关联,且每一个复选按钮关联的变量都是相同的,若像单选按钮一样,关联的时同一个按钮,则选中一个的时候,会将所有的按钮都选上,可以给每个复选按钮绑定一个回调,当该选项被选中时,执行该回调
示例:

from Tkinter import *root=Tk()root.title('top')l=[('red',1),('green',2),('black',3),('blue',4),('yellow',5)]for text,value in l:    foo=IntVar()    c=Checkbutton(root,text=text,variable=foo)    c.pack(anchor=W)root.mainloop()

结果:
这里写图片描述
示例2:禁用状态下的复选窗口

from Tkinter import *root=Tk()root.title('top')L=[('red',1,NORMAL),('green',2,NORMAL),('black',3,DISABLED),('blue',4,NORMAL),('yellow',5,DISABLED)]for text,value,status in L:    foo=IntVar()    r=Checkbutton(root,text=text,variable=foo,state=status)    r.pack(anchor=W)root.mainloop()

结果:
这里写图片描述

Checkbutton组件参数

variable 复选按钮索引变量,通过变量的值确定哪些复选按钮被选中,每个复选按钮使用不同的变量,使复选按钮之间相互独立
onvalue 复选按钮选中时变量的值
offvalue 复选按钮为被选中时的变量的值
command 复选按钮选中时执行的命令