Tkinter 在标签框架中添加复选框
标签框架的应用范围很广泛,也常应用于将选项按钮或是复选框组织起来。下面将直接以实例讲解。
示例
将复选框用标签框架框起来,同时设置了root窗口的宽度和高度。
from tkinter import *
def printInfo():
selection = ""
for i in checkboxes.keys(): # 检查此字典的关键字,同: for i in checkboxes:
if checkboxes[i].get() == True: # 若被选中则执行
selection = selection + sports[i] + "\t"
print(selection)
root = Tk()
root.title("apidemos.com") # 窗口标题
root.geometry("400x320")
# 以下建立标签框架与字典
labFrame = LabelFrame(root,text="Please select the favorite sport")
sports = {0:"American Football",1:"Baseball",2:"Basketball",3:"Tennis",4:"Soccer",5:"Swimming"} # 运动项目构成的字典
checkboxes = {} # 字典,存放被选取项目的BooleanVar变量
for i in range(len(sports)): # 根据运动字典建立复选框
checkboxes[i] = BooleanVar() # 建立布尔变量对象
Checkbutton(labFrame,text=sports[i],
variable=checkboxes[i]).grid(row=i+1,sticky=W)
labFrame.pack(ipadx=5,ipady=5,pady=10)
btn = Button(root,text="OK",width=10,command=printInfo)
btn.pack()
root.mainloop()
输出: