tkinter第三章(单选和多选)RadioButton CheckButton

 最简单的CheckButton多选类

import tkinter as tk
#checkButton的内容,多选

root = tk.Tk()


v = tk.IntVar()#装整形变量的


#variable:表示是否选中 v:选中为1,否则为0
c = tk.Checkbutton(root,text='测试一下',variable=v)#是一个选项框,前面有小勾
c.pack()#自动对齐

l = tk.Label(root,textvariable=v)#显示下面的0和1
l.pack()

 

tk.mainloop()

 

 

用for循环表示

import tkinter as tk

root = tk.Tk()

GIRLS =['西施','貂蝉','王昭君','杨玉环']

v = []

for girl in GIRLS:#显示四大美女的显示框
  v.append(tk.IntVar())


  #variable:把变量放到最后一个 ,
  b = tk.Checkbutton(root,text=girl,variable = v[-1])
  b.pack(side = tk.LEFT)


for each in v:#显示状态的框
  l = tk.Label(root,textvariable=each)
  l.pack(side = tk.LEFT)

 

 

tk.mainloop()

 

 

 

RadioButton 单选

 

import tkinter as tk


root = tk.Tk()

v = tk.IntVar()


#Radiobutto是单选框,只能选中一个
#选中哪一个按钮,会把value的值赋给v
a1 = tk.Radiobutton(root,text="one",variable=v,value=1)
a1.pack(anchor=tk.W)#向西(west)对齐,即向左对齐

a2 = tk.Radiobutton(root,text="two",variable=v,value=2)
a2.pack(anchor=tk.W)

a3 = tk.Radiobutton(root,text="three",variable=v,value=3)
a3.pack(anchor=tk.W)


#显示v的值
l = tk.Label(root,textvariable=v)
l.pack(anchor= tk.W)

tk.mainloop()

 

 

 

 

采用for循环将其整合

 

import tkinter as tk

root = tk.Tk()

LANGS = [("python",1),("C",2),("Java",3),("Lua",4)]


v = tk.IntVar()
v.set(1)#把v的值设置为1

for lang,num in LANGS:
  #选中后 把num的值赋给 variable
  b = tk.Radiobutton(root,text=lang,variable = v ,value =num)
  b.pack(anchor = tk.W)


l = tk.Label(root,textvariable=v)#显示标签
l.pack(side=tk.LEFT)


tk.mainloop()

 

 

 

LabelFrame框架

 

 

import tkinter as tk

#标签框架

root = tk.Tk()

#新建标签框架
group = tk.LabelFrame(root,text="最好的语言是?")
group.pack(padx=10,pady=10)


LANGS = [("python",1),("C",2),("Java",3),("Lua",4)]


v = tk.IntVar()
for lang,num in LANGS:
  #选中后 把num的值赋给 variable
  b = tk.Radiobutton(group,text=lang,variable = v ,value =num)
  b.pack(anchor = tk.W)


l = tk.Label(root,textvariable=v)#显示标签
l.pack(side=tk.LEFT)


tk.mainloop()

 

 

 

posted @ 2017-08-25 14:56  半臻  阅读(3300)  评论(0编辑  收藏  举报