python tkinter库的Checkbutton和Radiobutton(单选按钮和多选按钮)如何使用

本文详细介绍了如何在Python的Tkinter库中使用Checkbutton实现多选按钮,以及Radiobutton实现单选按钮,涉及参数设定、变量绑定和值判断。
摘要由CSDN通过智能技术生成

如何理解

首先要想灵活使用记得彻彻底底的理解这个按钮是怎么创建的。

这两种按钮的参数有很多,基本上和button和text的内容差不多。鼠标放置在其上可以观察到大概有这些主要参数

 要使用单选和多选按钮时,我们一般会通过用他的值来判断是否已经选择。因此我们需要用到tk库的专属变量(tk指tkinter),即tk.xxxVar。其中xxx是整形就为Int,xxx是字符串就为String

 *********************************************************************************************

 使用过程

多选按钮
import tkinter as tk
root=tk.Tk()
root.geometry('500x300')
a=tk.IntVar()
b=tk.IntVar()


def qq():
    print(1)


c1=tk.Checkbutton(root,text='1按钮',variable=a,onvalue=1,
                  offvalue=0,width=10,height=5,command=qq).pack()
c2=tk.Checkbutton(root,text='2按钮',variable=b,onvalue=1,
                  offvalue=0,width=10).pack()


def qr1():
    if a.get()==1 and b.get()==1:
        print(2)
    elif a.get()==1 or b.get()==1:
        print(1)
    else:
        print(0)


tk.Button(text='确认',command=qr1,width=10,height=2).pack()
root.mainloop()

 其中onvalue是选定后返回的值。offvalue是未选定返回的值。variable绑定一个tk变量命名为a,用于储存按钮的值,需要使用这个值时需要get提取。command是选定或者取消时都会运行qq函数的一个事件。

单选按钮
d=tk.StringVar()
d.set('55')
e1=tk.Radiobutton(root,variable=d,text='3按钮',value='55').pack()
e2=tk.Radiobutton(root,variable=d,text='4按钮',value='100').pack()

单选按钮的值是储存在一个tk变量里的,因为你只能选择一个值,所以只需要储存选择这个值的变量即可。

注意:一开始需要为单选按钮设置值,这里设置成与3按钮的确认值一致那么它的初始选择就会是3按钮。如果不设置则会默认两个都选,如果绑定了command事件则会默认选第一项。

***************************************************************************

全部代码:

import tkinter as tk
root=tk.Tk()
root.geometry('500x300')
a=tk.IntVar()
b=tk.IntVar()


def qq():
    print(1)


c1=tk.Checkbutton(root,text='1按钮',variable=a,onvalue=1,
                  offvalue=0,width=10,height=5,command=qq).pack()
c2=tk.Checkbutton(root,text='2按钮',variable=b,onvalue=1,
                  offvalue=0,width=10).pack()


def qr1():
    if a.get()==1 and b.get()==1:
        print(2)
    elif a.get()==1 or b.get()==1:
        print(1)
    else:
        print(0)


tk.Button(text='确认',command=qr1,width=10,height=2).pack()

# *****************************************************************
d=tk.StringVar()
d.set('55')
e1=tk.Radiobutton(root,variable=d,text='3按钮',value='55').pack()
e2=tk.Radiobutton(root,variable=d,text='4按钮',value='100').pack()
def qr2():
    if d.get()=='55':
        print(10)
    if d.get()=='100':
        print(100)
tk.Button(text='确认',command=qr2,width=10,height=2).pack()
root.mainloop()

结果:

2月25日

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独白不白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值