tkinter中checkbutton多选框控件和variable用法(六)
checkbutton控件
简单的实现多选:
import tkinter
wuya = tkinter.Tk()
wuya.title("wuya")
wuya.geometry("300x200+10+20")
# 创建四个多选框
cb1 = tkinter.Checkbutton(wuya,text='周杰伦')
cb1.pack()
cb2 = tkinter.Checkbutton(wuya,text='周星驰')
cb2.pack()
cb3 = tkinter.Checkbutton(wuya,text='爱舞涯')
cb3.pack()
cb4 = tkinter.Checkbutton(wuya,text='蔡依林')
cb4.pack()
wuya.mainloop()
tkinter中如果不设置对齐方式,默认是居中的,如果要设置可以在pack()中加参数:cb1.pack(side='left')
结果为:

结合之前学的加lable和打印功能:
import tkinter
wuya = tkinter.Tk()
wuya.title("wuya")
wuya.geometry("300x200+10+20")
# 加标签
lb = tkinter.Label(wuya,text='请选择自己喜欢的名星(多选):',fg='blue')
lb.pack()
# 定义执行选择框后的函数
def func():
msg = ''
if h1.get() == True: # 因为h1创建时是bool的运算,选中为真,不选为假
msg += "周杰伦\n"
if h2.get() == True:
msg += "周星驰\n"
if h3.get() == True:
msg += "爱舞涯\n"
if h4.get() == True:
msg += "蔡依林\n"
text.delete(0.0,tkinter.END) # 清除text中的内容,0.0表示从第一行第一个字开始清除,end表示清除到最后结束
text.insert('insert',msg)
# 创建四个多选框
h1 = tkinter.BooleanVar() # 设置选择框对象
cb1 = tkinter.Checkbutton(wuya,text='周杰伦',variable=h1,command=func)
cb1.pack()
h2 = tkinter.BooleanVar()
cb2 = tkinter.Checkbutton(wuya,text='周星驰',variable=h2,command=func)
cb2.pack()
h3 = tkinter.BooleanVar()
cb3 = tkinter.Checkbutton(wuya,text='爱舞涯',variable=h3,command=func)
cb3.pack()
h4 = tkinter.BooleanVar()
cb4 = tkinter.Checkbutton(wuya,text='蔡依林',variable=h4,command=func)
cb4.pack()
# side='left'表示左对齐
# 创建一个文本框
text = tkinter.Text(wuya,width=30,height=10)
text.pack()
wuya.mainloop()
结果为:

variable用法
variable主要用于传参和绑定变量。主要参数有:variable, textvariable, onvalue, offvalue, value
他是双向绑定的,也就是说如果该变量发生变化,随之绑定的控件也会变化,与他保持一致
常用的variable变量有:
x = StringVar() 保存一个 string 类型变量, 默认值为""
x = IntVar() 保存一个整型变量, 默认值为0
x = DoubleVar() 保存一个浮点型变量,默认值为0.0
x = BooleanVar() 保存一个布尔型变量,返回值为0表示假,1表示真
对他的操作主要有两个:
设置他的值,用set()方法,即:x.set()
得到他的值,用get()方法,即:x.get()
tkinter中checkbutton多选框控件和variable用法(六)的更多相关文章
- Java通过复选框控件数组实现添加多个复选框控件
编写程序,通过复选框控件数组事先选择用户爱好信息的复选框,在该程序中,要求界面中的复选框数量可以根据指定复选框名称的字符串数组的长度来自动调节. 思路如下: 创建JPanel面板对象: 使用JPane ...
- CheckBox复选框控件
CheckBox复选框控件 一.简介 1. 2.类结构图 二.CheckBox复选框控件使用方法 这里是使用java代码在LinearLayout里面添加控件 1.新建LinearLayout布局 2 ...
- css input checkbox复选框控件 样式美化的多种方案
checkbox复选框可能是网站中常用的html元素,但大多数人并不满意它的默认样式,这篇文章就讲讲如何实现input checkbox复选框控件 样式美化效果. 资源网站大全 https://55w ...
- tkinter中combobox下拉选择控件(九)
combobox控件,下拉菜单控件 combobox控件在tkinter中的ttk下 简单的实现下: import tkinter from tkinter import ttk # 导入ttk模块, ...
- WPF中实现多选ComboBox控件
在WPF中实现带CheckBox的ComboBox控件,让ComboBox控件可以支持多选. 将ComboBox的ItemsSource属性Binding到一个Book的集合, public clas ...
- IOS中UITextView(多行文本框)控件的简单用法
1.创建并初始化 UITextView文本视图相比与UITextField直观的区别就是UITextView可以输入多行文字并且可以滚动显示浏览全文.UITextField的用处多,UITextVie ...
- tkinter中spinbox递增和递减控件(十)
spinbox递增和递减控件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("3 ...
- Asp.net自定义单选复选框控件
将常用的jquery插件封装成控件也是个不错的选择 下面是效果的简单颜色,由于博客系统的限制没法完整演示最终效果,请下载示例查看 Asp.netWeb APIC#Javascript 1.新建类库 ...
- Tkinter 之CheckButton复选框标签
一.参数说明 语法 作用 Checkbutton(root,text='xxxx') 复选框显示的文本 Checkbutton(root,variable=id) 通过变量的值确定哪些复选框被选中 C ...
随机推荐
- Android开发技巧——自定义控件之使用style
Android开发技巧--自定义控件之使用style 回顾 在上一篇<Android开发技巧--自定义控件之自定义属性>中,我讲到了如何定义属性以及在自定义控件中获取这些属性的值,也提到了 ...
- STM32中GPIO的8种工作模式
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.形象点解释:推挽,就是有推有拉,任何 ...
- python标准库之MultiProcessing库的研究 (1)
MultiProcessing模块是一个优秀的类似多线程MultiThreading模块处理并发的包之前接触过一点这个库,但是并没有深入研究,这次闲着无聊就研究了一下,算是解惑吧.今天先研究下appl ...
- Gson序列化问题导致的内存溢出,tip:Background sticky concurrent mark sweep GC freed
问题原因,如果在json model里面放了非可序列化的对象就会导致这中问题,可序列化的就是那些基础数据类型和集合类型,如果在里面放个Android的Activity或者adapter这类类型字段,变 ...
- 第一次作业 orm环境构建(hibernate)及基本的demo
一.数据库 1.创建数据库hibernate01-1514010311 2.创建表 customer CREATE TABLE customer( id int(11) not null auto_i ...
- log4j配置及使用
一.使用方法: 1.将log4j.properties放到你创建项目的src中 2.引入log4j.jar import org.apache.log4j.*; public class log4jT ...
- 再次实践 MySQL chart - 每天5分钟玩转 Docker 容器技术(166)
学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获. chart 安装前的准备 作为准备工作,安装之前需要先清楚 chart 的使用方法.这些信息通常记 ...
- AUTOSAR-关于配置文件的思考
基于Can: 1. Can_Cfg.h contains compile time configurations. It should be included by Can.h which is sp ...
- Xamarin.Android 使用AsyncTask提示上传动态
我们有时候会通过WebServices上传数据,如果信息量过大并没有提示,用户会觉得是死机,或是系统崩溃,这时候我们可以用到AsyncTask(异步任务)来提示上传信息,例如:正在上传数据... 这里 ...
- 【多线程】-ThreadPool线程池
ThreadPool介绍: Thread类是一个静态类,所有不存在实例化构造函数操作,直接可以调用其内所存在的方法. 微软官网给出的解释: 提供一个线程池,该线程池可用于执行任务.发送工作项.处理异步 ...