码迷,mamicode.com
首页 > 其他好文 > 详细

tkinter学习-选择按钮

时间:2017-08-04 22:43:34      阅读:1085      评论:0      收藏:0      [点我收藏+]

标签:好的   组件   布局   单选按钮   选中   from   分享   var   默认   

阅读目录

  • Checkbutton
  • Radiobutton 
  • LabelFrame

checkbutton :

  说明:多选框控件,用于在程序中提供多项选择框,但是处理“多选一”的问题,还是交给 Radiobutton 或 Listbox 组件来实现吧。

  用法:使用 Checkbutton,你必须创建一个 Tkinter 变量用于存放按钮的状态:

from tkinter import *
root = Tk() v1 = IntVar() #用来表示按钮是否选中 v2 = IntVar() c1 = Checkbutton(root,text=python,variable=v1) c2 = Checkbutton(root,text=java,variable=v2) c1.pack() c2.pack() mainloop()

结果 :

      技术分享

  用法:默认情况下,variable 选项设置为 1 表示选中状态,反之设置为 0。你可以使用 onvalue 和 offvalue 选项修改它们的值,例如下边代码,只要 var 被设置为“T”即选中状态, 设置为“F”则相反。

 

from tkinter import *
root = Tk()                    
v = IntVar()
v.set(T)
c = Checkbutton(root,text = 测试,variable = v,onvalue=T,offvalue=F)
c.pack()                 
l = Label(root,textvariable = v)
l.pack()
mainloop()

 

结果:

    技术分享

  用法:如果选项多的话可以用列表,代码如下:

from tkinter import *
root = Tk()
GIRLS = [西施,貂蝉,王昭君,杨玉环]
v = []
for girl in GIRLS:
    v.append(IntVar())              #这里注意 IntVar()
    b = Checkbutton(root,text=girl,variable=v[-1])  #这里注意 variable[-1]
    b.pack(anchor=W)         #这个是左对齐
mainloop()

 

把Checkbutton组件都向左对齐,可以设置pick()方法的anchor选项,

anchor选项指定显示的位置,有 N,S,W,E,等组成。

结果:

    技术分享

 

Radiobutton:

  说明:单选按钮控件,显示一个单选的按钮状态,需要设置不同的value值。

from tkinter import *
root = Tk()
LANGS = [
    (python,1),
    (perl,2),
    (c,3),
    (java,4)]
v = IntVar()          #这里注意
v.set(1)            #默认是选第一个
for lang,num in LANGS:
    b = Radiobutton(root,text=lang,variable=v,value=num)
    b.pack(anchor=W)    
mainloop()

 

结果:

    技术分享               技术分享

如果不喜欢前面的小圆圈,还可以去掉前面的小圆圈,indicatoron设置为False就可以去掉前面的小圆圈。 

b = Radiobutton(root,text=lang,variable=v,value=num,indicatoron=False)
b.pack(fill=X)    #横向填充

 

LabelFrame:

  说明:labelframe 是一个简单的容器控件,常用与复杂的窗口布局。

from tkinter import *
root = Tk()
group = LabelFrame(root,text="最好的脚本语言?",padx=5,pady=5)
group.pack(padx=10,pady=10)
LANGS=[
    (python,1),
    (java,2),
    (c,3)]
v = IntVar()
v.set(1)
for long,num in LANGS:
    b = Radiobutton(group,text=long,variable=v,value=num)
    b.pack(anchor=W)
mainloop()
    

 

结果:

    技术分享

参考文献:

    小甲鱼的python教学视频

 

tkinter学习-选择按钮

标签:好的   组件   布局   单选按钮   选中   from   分享   var   默认   

原文地址:http://www.cnblogs.com/mengd/p/7287119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!