Tkinter教程之Radiobutton篇

这篇博客详细介绍了Tkinter库中Radiobutton组件的使用,包括创建单选按钮组、设置选中按钮、定义不同组的按钮、处理函数以及自定义样式。通过实例展示了如何创建和操作Radiobutton,帮助读者理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# Tkinter教程之Radiobutton篇
#
Radiobutton为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念
''' 1.创建一个简单的Radiobutton '''
from  Tkinter  import   *
root 
=  Tk()
Radiobutton(root,text 
=   ' python ' ).pack()
Radiobutton(root,text 
=   ' tkinter ' ).pack()
Radiobutton(root,text 
=   ' widget ' ).pack()
root.mainloop()
# 不指定绑定变量,每个Radiobutton自成一组

''' 2.创建一个Radiobutton组,使用绑定变量来设置选中哦的按钮 '''
from  Tkinter  import   *
root 
=  Tk()
# 创建一个Radiobutton组,创建三个Radiobutton,并绑定到整型变量v
#
选中value=1的按钮
=  IntVar()
v.set(
1 )
for  i  in  range( 3 ):
    Radiobutton(root,variable 
=  v,text  =   ' python ' ,value  =  i).pack()

root.mainloop()
''' 3.创建两个不同的组 '''
from  Tkinter  import   *
root 
=  Tk()
vLang 
=  IntVar()
vOS 
=  IntVar()
vLang.set(
1 )
vOS.set(
2 )

for  v  in  [vLang,vOS]:     # 创建两个组
     for  i  in  range( 3 ):     # 每个组含有3个按钮
        Radiobutton(root,
                    variable 
=  v,
                    value 
=  i,
                    text 
=   ' python '   +  str(i)
                    ).pack()
root.mainloop()
# 不同的组,各个按钮互不影响。

''' 4.如果同一个组中的按钮使用相同的alue,则这两个按钮的工作方式完全相同 '''
#  -*- coding: cp936 -*-
from  Tkinter  import   *
root 
=  Tk()
=  IntVar()
v.set(
1 )
for  i  in  range( 3 ):
    Radiobutton(root,
                variable 
=  v,
                value 
=   1 ,
                text 
=   ' python '   +  str(i)
                ).pack()
for  i  in  range( 3 ):
    Radiobutton(root,
                    variable 
=  v,
                    value 
=  i,
                    text 
=   ' python '   +  str( 2   +  i)
                    ).pack()
root.mainloop()
# 上述的例子中共有4个alue为1的值,当选中其中的一个时,其他三个也会被选中;选中除了这四个只外的按钮时,四个按钮全部取消

''' 5.与Checkbutton类似,每个Radiobutton可以有自己的处理函数,每当点击按钮时,系统会调用相应的处理函数 '''
#  -*- coding: cp936 -*-
from  Tkinter  import   *
root 
=  Tk()
=  IntVar()
v.set(0)
def  r1():
    
print   ' call r1 '
def  r2():
    
print   ' call r2 '
def  r3():
    
print   ' call r3 '
def  r4():
    
print   ' call r4 '
=  0
# 创建8个按钮,其中两个两个的value值相同
for  r  in  [r1,r2,r3,r4]:
    Radiobutton(root,
                    variable 
=  v,
                    text 
=   ' radio button ' ,
                    value 
=  i,
                    command 
=  r
                    ).pack()
    Radiobutton(root,
                    variable 
=  v,
                    text 
=   ' radio button ' ,
                    value 
=  i,
                    command 
=  r
                    ).pack()
    i 
+=   1
    
root.mainloop()
# 注意虽然同时可以选中两个按钮,但每次点击按钮,执行的代码只有一次

''' 6.Radiobutton另一个比较实用的属性是indicatoron,缺省情况下为1,如果将这个属性改为0,则其外观是Sunken '''
from  Tkinter  import   *
root 
=  Tk()
=  IntVar()
v.set(
1 )
for  i  in  range( 3 ):
    Radiobutton(root,
                    variable 
=  v,
                    indicatoron 
=  0,
                    text 
=   ' python & tkinter ' ,
                    value 
=  i
                    ).pack()
root.mainloop()
# Radiobutton表示按钮的弹起或按下两种状态

# author:     jcodeer
#
blog:    jcodeer.cublog.cn
#
email:    jcodeer@126.com
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值