赞
踩
1. 格式:RadioButton(父容器,options…)
options:下面总结一部分常用的。
示例:
from tkinter import * # 打印Label的text内容的方法 def printSelection(): num=var.get() if(num==1): label.config(text="你是男生") # 通过config()方法改变text值 else: label.config(text="你是女生") root =Tk() root.title("RadioButton") # 按钮绑定的变量,可以是IntVar类型,也可以是StringVar类型(下面set()中填入字符串) var=IntVar() # 默认男生 var.set(1) label=Label(root, text="请选择下面的按钮", bg="lightyellow", width=30) label.pack() rbMan=Radiobutton(root, text="男生", variable=var, # 绑定变量 value=1, # 设置选项按钮的值 command=printSelection) rbMan.pack() rbWoman=Radiobutton(root, text="女生", variable=var, value=2, command=printSelection) rbWoman.pack() root.mainloop()
运行:
示例2:使用字典遍历选项按钮
from tkinter import * def printSelection(): print(cities[var.get()]) root=Tk() root.title("使用字典遍历多选按钮") # 创建字典 cities={0:"北京",1:'上海',2:"广州",3:"深圳",4:"天津"} var=IntVar() var.set(0) label=Label(root,text="选择一个你想去旅游得城市", fg="blue", bg="lightyellow", width=30).pack() # 使用for循环遍历字典中得索引、城市名 for val,city in cities.items(): Radiobutton(root, text=city, variable=var, value=val, command=printSelection).pack() root.mainloop()
运行:
只要在上面的Radiobutton() 中添加一句:indicatoron=0, 然后适当调整宽度,多选按钮则会变成盒子样式,如下图:
1. 格式:Checkbutton(父容器,options…)
var = tk.StringVar()
var.set("T")
c = tk.Checkbutton(root,
text="测试",
variable=var,
onvalue="T", # 由于前面var变量已经被赋值为“T”,所以改复选框是选定状态
offvalue="F") # 如果前面的var变量被赋值为“F”,那么当前复选框就是未选定状态
c.pack()
示例:
from tkinter import * # 打印方法 def printInfo(): selection='' for i in checkboxes: # 遍历checkboxes字典,元组类型为bool if checkboxes[i].get()==True: # 如果当前元组为true,则分别打印,\t表示tab向后 selection=selection+sports[i]+"\t" print(selection) root=Tk() root.title("CheckButton") Label(root, text="请选择你喜欢的运动项目", fg="blue", bg="lightyellow", width=30).grid(row=0) # 运动项目字典 sports={0:"足球",1:"篮球",2:"乒乓球",3:"网球"} # 创建字典,用于存储选择状态的bool对象 checkboxes={} # 使用for遍历运动项目字典,并动态创建Checkbutton for i in range(len(sports)): checkboxes[i]=BooleanVar() # 创建bool变量对象,添加到checkboxes字典 # 创建Checkbutton复选按钮 Checkbutton(root, text=sports[i], variable=checkboxes[i]).grid(row=i+1,sticky=W) # 靠西分布,每创建一个另起一行 btn=Button(root, text="确定", width=10, command=printInfo) # 按下按钮,触发打印事件 btn.grid(row=i+2) root.mainloop()
运行:
感谢路过,拜了个拜。。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。