关于Python Tkinter 复选框 ->Checkbutton

 更新时间:2022年09月13日 15:00:44   作者:番茄牛腩不吃番茄  
这篇文章主要介绍了关于Python Tkinter复选框Checkbutton,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

 正文如下:

import tkinter as tk
windows = tk.Tk()
windows.title('复选框')
lab = tk.Label(windows, text='请选择你喜欢做的事', fg='blue', bg='lightblue', width=35)
lab.grid(row=0, pady=2)
var_b = tk.IntVar()
print(var_b.get())
check_button_b = tk.Checkbutton(windows, text='打篮球', variable=var_b)
check_button_b.grid(row=2)

var_c = tk.IntVar()
print(var_c.get())
check_button_c = tk.Checkbutton(windows, text='打豆豆', variable=var_c)
check_button_c.grid(row=3)

tk.mainloop()

上述代码中我们都能看到 IntVar()整形变量,默认值是 0 ,默认显示的复选框是未勾选状态 。

当然你不用这个变量也行,Checkbutton是有默认值的,默认值也是 0 ,复选框同样也是未勾选状态 。

check_button_a = tk.Checkbutton(windows, text='看电影')
check_button_a.grid(row=1)
 
check_button_b = tk.Checkbutton(windows, text='打篮球')
check_button_b.grid(row=2)
 
tk.mainloop()

但是当我们使用StringVar()字符串变量,运行后复选框不仅默认选中了,而且复选框上还出现了一层灰色遮罩

var_b = tk.StringVar()
check_button_b = tk.Checkbutton(windows, text='打篮球', variable=var_b)
check_button_b.grid(row=2)
 
var_c = tk.StringVar()
check_button_c = tk.Checkbutton(windows, text='打豆豆', variable=var_c)
check_button_c.grid(row=3)
 
tk.mainloop()

个人理解的:因为StringVar()是字符串变量,它的默认值是这样的 “ ' ' ”。这样就导致了Checkbutton中variable接收的是 1,运行成功后,显示的也是选中状态了。

​DoubleVar()浮点数变量和BooleanVar()布尔变量也是可以正常使用的

var_b = tk.DoubleVar()
print(var_b.get())
check_button_b = tk.Checkbutton(windows, text='打篮球', variable=var_b)
check_button_b.grid(row=2)
 
var_c = tk.BooleanVar()
print(var_c.get())
check_button_c = tk.Checkbutton(windows, text='打豆豆', variable=var_c)
check_button_c.grid(row=3)
 
tk.mainloop()

var_b = tk.DoubleVar()    # 浮点型变量,默认值为 0.0
var_c = tk.BooleanVar()   # 布尔型变量,默认值为 False
var_d = tk.IntVar()       # 整形变量,默认值为 0
var_e = tk.StringVar()    # 字符串变量,默认值为 ''

F:\virtualEnvironment\venv\Scripts\python.exe F:/git/test-python/tkinterGui/tkinterExampleCheckButton.py
0.0
False
0
Process finished with exit code 0

当遇到多个选项,又需要存储的时候,就用上了字典和for循环操作,在用字典存值

import tkinter as tk
 windows = tk.Tk()
windows.title('复选框')
lab = tk.Label(windows, text='请选择你喜欢做的事', fg='blue', bg='lightblue', width=35)
lab.grid(row=0, pady=2)
def print_info():
    a = ''
    for j in select_all:
        if select_all[j].get() == True:
            a = a + enjoyment[j] + '\t'
    print(a)
enjoyment = {0: "打篮球", 1: "踢足球", 2: "看电影", 3: "打豆豆", 4: "演   讲", 5: "撸代码"}
select_all = {}
for i in range(len(enjoyment)):
    select_all[i] = tk.BooleanVar()
    tk.Checkbutton(windows, text=enjoyment[i], variable=select_all[i]).grid(row=i+1)
 
btn = tk.Button(windows, text='确定', command=print_info).grid(pady=2)
tk.mainloop()

点击 “ 确定 ” 按钮,控制台就会打印为们获取的值,如下展示效果

F:\virtualEnvironment\venv\Scripts\python.exe F:/git/test-python/tkinterGui/tkinterExampleCheckButton.py
打篮球    踢足球    看电影    
Process finished with exit code 0

到此这篇关于关于Python Tkinter 复选框 ->Checkbutton的文章就介绍到这了,更多相关Python Tkinter 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Windows系统配置python脚本开机启动的3种方法分享

    Windows系统配置python脚本开机启动的3种方法分享

    这篇文章主要介绍了Windows系统配置python脚本开机启动的3种方法分享,本文讲解了开始菜单启动项实现、开机脚本、通过一个服务调用该脚本三种方法,需要的朋友可以参考下
    2015-03-03
  • Python实现对照片中的人脸进行颜值预测

    Python实现对照片中的人脸进行颜值预测

    今天给大家带来的是关于Python实战的相关知识,文章围绕如何用Python实现对照片中的人脸进行颜值预测展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python中的heapq模块源码详析

    Python中的heapq模块源码详析

    这篇文章主要给大家介绍了关于Python中heapq模块的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 一文带你探寻Python中的迭代器

    一文带你探寻Python中的迭代器

    你知道for...in是底层原理是什么样的么?这篇文章就来和大家详细讲一讲Python中迭代器的的相关知识,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-04-04
  • 使用python pywin32模块创建windows服务实例探究

    使用python pywin32模块创建windows服务实例探究

    这篇文章主要为大家介绍了使用python pywin32模块创建windows服务实现实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python中sleep函数用法实例分析

    python中sleep函数用法实例分析

    这篇文章主要介绍了python中sleep函数用法,实例分析了sleep函数的功能及使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python中的二维列表使用及说明

    Python中的二维列表使用及说明

    这篇文章主要介绍了Python中的二维列表使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 利用python实现货币识别功能

    利用python实现货币识别功能

    本文的目的是介绍如何利用Python实现货币识别技术,随着经济的发展和国际贸易的增加,货币的种类越来越多,本文将介绍货币识别的基本原理、实现过程以及代码实现,感兴趣的朋友可以参考下
    2024-01-01
  • 利用Tkinter(python3.6)实现一个简单计算器

    利用Tkinter(python3.6)实现一个简单计算器

    这篇文章主要给大家介绍了关于利用Tkinter(python3.6)实现一个简单计算器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • python实现飞船游戏的纵向移动

    python实现飞船游戏的纵向移动

    这篇文章主要为大家详细介绍了python实现飞船游戏的纵向移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04

最新评论