关于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 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python使用tkinter模块实现文件选择功能

    目录 前言 1.导入库和模块 2.编写按钮命令 3. 窗体初始化及布局 4.运行 前言 学习Python中,总想做个图形界面,找来找去,找到了tkinter. 练习内容:图形界面中,点击按钮后,利用弹出对话框选择文件(或文件夹) 1.导入库和模块 import tkinter as tk from tkinter import filedialog 此处练习过程中出现的错误:在没有第2个导入语句时,使用 tk.filedialog 后,提示错误,显示 Cannot find reference

  • Python tkinter 多选按钮控件 Checkbutton方法

    目录 1.多选按钮的方法 1.2select() 1.2 deselect() 1.3 flash() 1.4 invoke() 1.5 toggle() 1.多选按钮的方法 以下为常用的方法: 方法描述deselect()清除多选按钮选中选项.flash()在激活状态颜色和正常颜色之间闪烁几次多选按钮,但保持它开始时的状态.invoke()可以调用此方法来获得与用户单击多选按钮以更改其状态时发生的操作相同的操作select()设置多选按钮为选中.toggle()选中与没有选中之间切换 1.2s

  • python图形用户界面tkinter之按钮Button的使用说明

    目录 python tkinter按钮Button的使用 创建和设置窗口 按钮Button属性1 按钮Button属性2 修改Button属性 python tkinter的Button组件 Tkinter的布局方式有三种 python tkinter按钮Button的使用 创建和设置窗口 from tkinter import * #创建窗口对象 root = Tk() #窗口属性设置 root.title ('窗口标题') root.geometry('300x400') root.conf

  • 关于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,

  • python中tkinter复选框使用操作

    代码如下所示: # tkinter复选框操作 import tkinter as tk root = tk.Tk() root.title('问卷调查') root.geometry('220x80') # 设置窗口大小 flag_1 = False flag_2 = False flag_3 = False list_content = ['你的爱好是:'] hobby_list = ['游泳', '唱歌', '旅游'] def click_1(): global flag_1 flag_1

  • python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例

    QCheckBox类中常用方法如表 方法 描述 setChecked() 设置复选框的状态,设置为True表示选中,False表示取消选中的复选框 setText() 设置复选框的显示文本 text() 返回复选框的显示文本 isChecked() 检查复选框是否被选中 setTriState() 设置复选框为一个三态复选框 setCheckState() 三态复选框的状态设置,具体设置可以见下表 三态复选框的三种状态 名称 值 含义 Qt.Checked 2 组件没有被选中(默认) Qt.Pa

  • 动态获取复选框checkbox选中个数的jquery代码

    今天碰到"jquery动态获取复选框checkbox选中的个数",首先看下面例子: 复制代码 代码如下: <input type="checkbox" checked="checked">python<br> <input type="checkbox" checked="checked">java<br> <input type="check

  • PyQt5每天必学之带有标签的复选框

    QCheckBox 是具有两种状态的控件:开和关.它是一个带有标签的复选框.复选框通常用于表示应用程序可以启用或禁用的功能. #!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 在这个例子中,一个QCheckBox控件用于切换窗口的标题. 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年8月3日 """ import

  • wx.CheckBox创建复选框控件并响应鼠标点击事件

    本文实例为大家分享了wx.CheckBox创建复选框控件并响应鼠标点击事件的具体代码,供大家参考,具体内容如下 执行效果图: 执行代码: #!/usr/bin/env python # -*-encoding:utf-8 -*- 'Crteate CheckBox Example' import wx class MyFrame(wx.Frame): #子类化框架对像 def __init__(self,parent,id): #定义子类构造器 wx.Frame.__init__(self,pa

  • PyQt5基本控件使用详解:单选按钮、复选框、下拉框

    本文主要介绍PyQt5界面最基本使用的单选按钮.复选框.下拉框三种控件的使用方法进行介绍. 1.RadioButton单选按钮/CheckBox复选框.需要知道如何判断单选按钮是否被选中. 2.ComboBox下拉框.需要知道如何对下拉框中的取值进行设置以及代码实现中如何获取用户选中的值. 带着这些问题下面开始介绍这 RadioButton单选按钮.CheckBox复选框. ComboBox下拉框 三种基本控件的使用方法 QRadioButton单选按钮 单选按钮为用户提供 多选一 的选择,是一

  • 自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码

    自定义实现 PyQt5 下拉复选框 ComboCheckBox 一.前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下拉复选框,主要就是继承 QComboBox 类,然后将复选框 QCheckBox 加入其中,并实现相应的功能. 最终实现的下拉复选框效果如下: 二.代码实现 1.主要方法 在 PyQt5 中,有几个主要的方法需要了解一下,方法名称和对应

  • jquery获取复选框被选中的值

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <mce:style><!-- --></mce:style><style mce_bogus="1"> &l

随机推荐