关于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_butto
正文如下:
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 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
本文标题为:关于Python Tkinter 复选框 ->Checkbutton
基础教程推荐
- Python爬取当网书籍数据并数据可视化展示 2023-08-11
- 基于Python实现股票数据分析的可视化 2023-08-04
- python的环境conda简介 2022-10-20
- Centos7下安装python环境 2023-09-04
- Python基础学习之函数和代码复用详解 2022-09-02
- 四步教你学会打包一个新的Python模块 2022-10-20
- ubuntu 18 python3.6 的安装与 python2的版本切换 2023-09-03
- Python 中 Elias Delta 编码详情 2023-08-08
- centos系统 anaconda3(python3)安装pygrib 2023-09-04
- CentOS 7.5 安装 Python3.7 2023-09-03