Tkinter教程之Radiobutton篇

# 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()

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

'''3.创建两个不同的组'''
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(v) + '_' + str(i)
                    ).pack()
root.mainloop()
# 不指定绑定变量,每个Radiobutton自成一组

'''4.如果同一个组中的按钮使用相同的alue,则这两个按钮的工作方式完全相同'''
# -*- coding: utf-8 -*-
from tkinter import *

root = Tk()
v = IntVar()
v.set(1)
for i in range(3):
    Radiobutton(root,
                variable=v,
                value=1,
                text='python_1_' + str(i)
                ).pack()
for i in range(3):
    Radiobutton(root,
                variable=v,
                value=i,
                text='python_2_' + str(2 + i)
                ).pack()
root.mainloop()
# 上述的例子中共有4个alue为1的值,当选中其中的一个时,其他三个也会被选中;选中除了这四个只外的按钮时,四个按钮全部取消

'''5.与Checkbutton类似,每个Radiobutton可以有自己的处理函数,每当点击按钮时,系统会调用相应的处理函数'''
# -*- coding: utf-8 -*-
from tkinter import *

root = Tk()
v = IntVar()
v.set(0)


def r1():
    print('call r1')


def r2():
    print('call r2')


def r3():
    print('call r3')


def r4():
    print('call r4')


i = 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()
v = IntVar()
v.set(1)
for i in range(3):
    Radiobutton(root,
                variable=v,
                indicatoron=0,
                text='python & tkinter',
                value=i
                ).pack()
root.mainloop()
# Radiobutton表示按钮的弹起或按下两种状态

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值