GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件
Checkbutton组件
Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮
from tkinter import * root = Tk()
v = IntVar() #设置一个Tkinter变量,用于表示该按钮是否被选中
c = Checkbutton(root,text="测试一下",variable=v)
c.pack() #如果选项被选中,那么变量v被赋值为1,否则为0
l = Label(root,textvariable=v) #用Label标签动态展示状态
l.pack()
mainloop()
执行结果:

当单击选项时,Label显示的变量相应地发生了改变。
根据上面的基础,但是如果是多个选项时,我们就可以用for循环来显示数据,例
from tkinter import * root = Tk()
gilrs = ["杨幂","唐嫣","小龙女","孙俪"]
v = []
for g in gilrs:
v.append(IntVar())
b = Checkbutton(root,text=g,variable=v[-1])
b.pack(anchor=W)
mainloop()
执行结果:

注意哦,我这里对pack()方法的anchor选项实现了定位显示位置,让其左对齐pack(anchor=W),其可设置为N,NE,E,SE,S,SW,W,NW和CENTER九个不同的值。这就是指南针的九个不同方位,按照“上北下南左西右东”的原则,如下图

Radiobutton组件
Radiobutton组件跟Checkbutton组件的用法基本一致,唯一不同的是Radiobuttonbutton实现的是单选效果,要实现这种互斥的效果,同一组内的所有Radiobutton只能共享一个variable选项,并且需要设置不同的value选项值。
from tkinter import * root = Tk()
v = IntVar()
Radiobutton(root,text="one",variable=v,value=1).pack(anchor=W)
Radiobutton(root,text="two",variable=v,value=2).pack(anchor=W)
Radiobutton(root,text="three",variable=v,value=3).pack(anchor=W)
Radiobutton(root,text="four",variable=v,value=4).pack(anchor=W)
mainloop()
执行效果:

程序中如果有多个选项,可以用循环来处理,这样代码会简洁,例如:
from tkinter import * root = Tk()
langs = [("python",1),("perl",2),("ruby",3)]
v = IntVar()
v.set(1)
for lang,num in langs:
b = Radiobutton(root,text=lang,variable=v,value=num)
b.pack(anchor=W)
mainloop()
执行结果:

如果你不喜欢按钮前面的小圆圈,可以替换成按钮的形式
b = Radiobutton(root,text=lang,variable=v,value=num,indicatoron=False)
b.pack(fill=X)
修改后程序如图:

LabelFrame组件
LabelFrame组件是Frame框架的进化版,从形态上来说,也就是添加了Label和Frame,但有了它,Checkbutton和Radiobutton的组件分组就简单了。
from tkinter import * root = Tk()
group = LabelFrame(root,text="最好的脚本语言是:",padx=5,pady=5)
group.pack(padx=10,pady=10) langs = [("python",1),("perl",2),("ruby",3)]
v = IntVar()
v.set(1)
for lang,num in langs:
b = Radiobutton(group,text=lang,variable=v,value=num)
b.pack(anchor=W)
mainloop()
执行结果:

GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件的更多相关文章
- GUI的最终选择 Tkinter(四):Entry、Listbox、Scrollbar和Scale组件
Entry组件 Entry组件就是平时所说的输入框.输入框是程序员用到的最多的一个程序,例如在输入账号和密码的时候需要提供两个输入框,用于接收密码的输入框还会有星号将实际输入的内容隐藏起来. Tkin ...
- GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件
Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...
- Python之GUI的最终选择(Tkinter)
首先,Tkinter是Python默认的GUI库,想IDLE就是用Tkinter设计出来的,因此直接导入Tkinter模块就可以啦 1 import tkinter (1)Tkinter初体验: 1 ...
- GUI的最终选择 Tkinter(九):事件
Tkinter事件处理 Tkinter应用会花费大部分的时间在处理事件循环中(通过mainloop()方法进入),事件可以是触发的鼠标,键盘的操作,管理窗口触发的重绘事件(在多数情况下都是有用户间接引 ...
- GUI的最终选择 Tkinter(八):Message组件、Spinbox组件、PanedWindow组件、Toplevel组件
Message组件 Message(消息)组件是Label组件的变体,用于显示多行文本消息,Message组件能够自动执行,并调整文本的尺寸使其适应给定的尺寸. from tkinter import ...
- GUI的最终选择 Tkinter(二):Label和Button组件
Label组件 Lable组件是用于界面上输出描述的标签,例如提示用户“您下载的电影含有未成年人限制内容,请满18岁以后点击观看!”,先来上结果图: 在来看下它的代码: from tkinter im ...
- GUI的最终选择 Tkinter(六):Canvas组件
Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Ca ...
- GUI的最终选择Tkinter模块初级篇
一.Tkinter模块的基本使用 1)实例化窗口程序 import tkinter as tk app = tk.Tk() app.title("FishC Demo") app. ...
- GUI的最终选择 Tkinter(五):Text用法
Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...
随机推荐
- bzoj 2093 [Poi2010]Frog——滑动窗口
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2093 找第k近的可以用一个含k个元素的滑动窗口来实现. 卡空间也还行,但卡时间.不要预处理倍 ...
- POJ2785(upper_bound)
#include"cstdio" #include"algorithm" using namespace std; ; int A[MAXN],B[MAXN], ...
- MFC中如何不使用Unicode字符集
命令窗口:调试->属性-> 把字符集设置为:未设置
- JVM体系结构之五:本地方法栈
对于一个运行中的Java程序而言,它还可能会用到一些跟本地方法相关的数据区.当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界.本地方法可以通过本地方法接口来访问虚拟机的运行 ...
- centos7安装etcd
http://blog.csdn.net/dream_broken/article/details/52671344
- java 学习众多API和手册资源下载
这个资源包里面有jdk api 还有SSH框架的手册,数据库的手册,Jquery手册等等,还有正则表达式等, 希望可以帮助有需要的人 链接:http://希望pan.baidu.com/s/1pJ60 ...
- C++之queue模板类
1.queue常用成员函数 ①size() 返回队列中元素的个数 ②empty() 如果队列空则返回真 ③back() 返回最后一个元素引用即队尾. ④front() 返回第一个元素引用即队首. ⑤ ...
- 我的笔记文档版本控制系统-MediaWiki-回到顶部/链接放大/升级
为了练习自己的JS.CSS基本功,这些天和MediaWiki干上了!^_^ 下面是我的MediaWiki新添加的功能: 回到顶部 链接放大 MediaWiki升级 回到顶部 回到顶部是很多网站的基本功 ...
- img src 直接显示图片字符串,微信例子
<div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANS ...
- cdce62005配置说明
相关芯片手册可查阅:http://www.ti.com.cn/product/cn/cdce62005 需要使用的软件下载地址:http://www.ti.com.cn/cn/lit/sw/scac1 ...