一、定义:Checkbutton组件用于实现是否选择的按钮

二、作用:使用Checkbutton,必须创建一个tkinter变量用于存放按钮的状态:v=IntVar()

from tkinter import *
root = Tk()
#存放选中的状态
v = IntVar()
c = Checkbutton(root,text="测试一下",variable=v).pack()
#选中未选中V的表现状态
l=Label(root,textvariable=v).pack() #textvariale:checkbutton显示Tkinter变量,如果变量被修改,checkbutton的文本会自动更新 mainloop()

执行结果:

1、默认设置为选择状态,采用:变量var.set("T")

var=StringVar()
var.set("T")

执行结果:

2、默认情况下,variable 选项设置为 1 表示选中状态,反之设置为 0。你可以使用 onvalue 和 offvalue 选项修改它们的值由,例如下边代码,只要 var 被设置为“T”即选中状态,设置为“F”则相反

from tkinter import *
root = Tk()
#存放选中的状态
v = StringVar()
v.set("T")
c = Checkbutton(root,text="测试一下",variable=v,onvalue="T",offvalue="F").pack()
#选中未选中V的表现状态
l=Label(root,textvariable=v).pack() #textvariale:checkbutton显示Tkinter变量,如果变量被修改,checkbutton的文本会自动更新 mainloop()

三、练习1:选择四大美女

from tkinter import *

root = Tk()

#选项列表
GIRLS=["西施","貂蝉","王昭君","杨玉环"]
#勾选的状态存放列表
v=[] #循环选择
for girl in GIRLS:
v.append(IntVar()) #每次点击以后,在状态列表增加一项
b=Checkbutton(root,text=girl,variable=v[-1])#variable=v[-1]:每次拿到最后一个元素
b.pack(anchor=W)#anchor=W:左对齐
mainloop()

执行结果:

四、方法

deselect()
-- 取消 Checkbutton 组件的选中状态,也就是设置 variable 为 offvalue。

flash()
-- 刷新 Checkbutton 组件,该方法将重绘 Checkbutton 组件若干次(在 ACTIVE 和 NORMAL 状态间切换)。

invoke()
-- 调用 Checkbutton 中 command 选项指定的函数或方法,并返回函数的返回值。
-- 如果 Checkbutton 的状态是 DISABLED(不可用)或没有指定 command 选项,则该方法无效。

select()
-- 将 Checkbutton 组件设置为选中状态,也就是设置 variable 为 onvalue。

toggle()
-- 切换 Checkbutton 组件的状态(选中 -> 未选中 / 未选中 -> 选中)

【Python66--checkbutton&】的更多相关文章

  1. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  2. 【.net 深呼吸】细说CodeDom(1):结构大观

    CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧.DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了.如果你从来没接触过 CodeDom,你大概 ...

  3. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  4. 【前端性能】高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  5. 【深入浅出jQuery】源码浅析--整体架构

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  6. 【.net 深呼吸】程序集的热更新

    当一个程序集被加载使用的时候,出于数据的完整性和安全性考虑,程序集文件(在99.9998%的情况下是.dll文件)会被锁定,如果此时你想更新程序集(实际上是替换dll文件),是不可以操作的,这时你得把 ...

  7. 【.net 深呼吸】跨应用程序域执行程序集

    应用程序域,你在网上可以查到它的定义,凡是概念性的东西,大伙儿只需要会搜索就行,内容看了就罢,不用去记忆,更不用去背,“名词解释”是大学考试里面最无聊最没水平的题型. 简单地说,应用程序域让你可以在一 ...

  8. 【Web动画】SVG 实现复杂线条动画

    在上一篇文章中,我们初步实现了一些利用基本图形就能完成的线条动画: [Web动画]SVG 线条动画入门 当然,事物都是朝着熵增焓减的方向发展的,复杂线条也肯定比有序线条要多. 很多时候,我们无法人工去 ...

  9. 【Web动画】SVG 线条动画入门

    通常我们说的 Web 动画,包含了三大类. CSS3 动画 javascript 动画(canvas) html 动画(SVG) 个人认为 3 种动画各有优劣,实际应用中根据掌握情况作出取舍,本文讨论 ...

  10. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

随机推荐

  1. [LeetCode] Bomb Enemy 炸弹人

    Given a 2D grid, each cell is either a wall 'W', an enemy 'E' or empty '0' (the number zero), return ...

  2. 关于vue-cli创建项目(小白)

    vue-cli,都说是vue脚手架,一般cli是命令行的意思,一看就知道与node有关,其实脚手架是建筑工用的工具,给工人踩在上面干活的,这里借用它的意思,我觉得应该叫vue平台工具大家更容易懂,毕竟 ...

  3. python 获取本机ip

    有的设备上,有host相关配置,或者网络环境特殊,导致从hostname获取ip不符合预期. 如下函数整合了多种获取ip的方式,大部分情况都可涵盖,一般情况下可以满足需求~ 核心是创建一个UDP协议下 ...

  4. Java基础学习笔记十九 File

    IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据 ...

  5. Oracle课程档案,第六天

    体系结构: instance:实例 database:数据库 RAC:多实例对一个数据库 SGA:最大总数 (系统全局区域)缓存区 PGA:其中的一块, 也是一个缓存区 server process: ...

  6. 浅谈提高Django性能

    Django性能优化是一件困难的事情,但是也不常常如此: 下面4步将能够轻松的提高你的网站的性能,它们非常简单你应该将它们 作为标配. 持久化数据库连接 django1.6以后已经内置了数据库持久化连 ...

  7. 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解

    突发奇想,想在自己电脑上部署一个web网站. 1,首先是下载一个适合自己已安装服务器版本的mysql数据库. 这里使用网上的链接http://dev.mysql.com/downloads/mysql ...

  8. Linux Input子系统

    先贴代码: //input.c int input_register_handler(struct input_handler *handler) { //此处省略很多代码 list_for_each ...

  9. Python Scrapy爬虫速成指南

    序 本文主要内容:以最短的时间写一个最简单的爬虫,可以抓取论坛的帖子标题和帖子内容. 本文受众:没写过爬虫的萌新. 入门 0.准备工作 需要准备的东西: Python.scrapy.一个IDE或者随便 ...

  10. Jumpserver(跳板机、堡垒机)启动jms Django连接mysql数据库报错

    解决办法 根据报错信息 , 去查看官方手册 在settings.py文件夹加入DATABASES['OPTIONS']['init_command'] = "SET sql_mode='ST ...