tkinter学习-选择按钮
阅读目录
- Checkbutton
- Radiobutton
- LabelFrame
checkbutton :
说明:多选框控件,用于在程序中提供多项选择框,但是处理“多选一”的问题,还是交给 Radiobutton 或 Listbox 组件来实现吧。
用法:使用 Checkbutton,你必须创建一个 Tkinter 变量用于存放按钮的状态:
from tkinter import *
root = Tk()
v1 = IntVar() #用来表示按钮是否选中
v2 = IntVar()
c1 = Checkbutton(root,text='python',variable=v1)
c2 = Checkbutton(root,text='java',variable=v2)
c1.pack()
c2.pack()
mainloop()
结果 :

用法:默认情况下,variable 选项设置为 1 表示选中状态,反之设置为 0。你可以使用 onvalue 和 offvalue 选项修改它们的值,例如下边代码,只要 var 被设置为“T”即选中状态, 设置为“F”则相反。
from tkinter import *
root = Tk()
v = IntVar()
v.set('T')
c = Checkbutton(root,text = '测试',variable = v,onvalue='T',offvalue='F')
c.pack()
l = Label(root,textvariable = v)
l.pack()
mainloop()
结果:

用法:如果选项多的话可以用列表,代码如下:
from tkinter import *
root = Tk()
GIRLS = ['西施','貂蝉','王昭君','杨玉环']
v = []
for girl in GIRLS:
v.append(IntVar()) #这里注意 IntVar()
b = Checkbutton(root,text=girl,variable=v[-1]) #这里注意 variable[-1]
b.pack(anchor=W) #这个是左对齐
mainloop()
把Checkbutton组件都向左对齐,可以设置pick()方法的anchor选项,
anchor选项指定显示的位置,有 N,S,W,E,等组成。
结果:

Radiobutton:
说明:单选按钮控件,显示一个单选的按钮状态,需要设置不同的value值。
from tkinter import *
root = Tk()
LANGS = [
('python',1),
('perl',2),
('c',3),
('java',4)]
v = IntVar() #这里注意
v.set(1) #默认是选第一个
for lang,num in LANGS:
b = Radiobutton(root,text=lang,variable=v,value=num)
b.pack(anchor=W)
mainloop()
结果:

如果不喜欢前面的小圆圈,还可以去掉前面的小圆圈,将indicatoron设置为False就可以去掉前面的小圆圈。
b = Radiobutton(root,text=lang,variable=v,value=num,indicatoron=False)
b.pack(fill=X) #横向填充
LabelFrame:
说明:labelframe 是一个简单的容器控件,常用与复杂的窗口布局。
from tkinter import *
root = Tk()
group = LabelFrame(root,text="最好的脚本语言?",padx=5,pady=5)
group.pack(padx=10,pady=10)
LANGS=[
('python',1),
('java',2),
('c',3)]
v = IntVar()
v.set(1)
for long,num in LANGS:
b = Radiobutton(group,text=long,variable=v,value=num)
b.pack(anchor=W)
mainloop()
结果:

参考文献:
小甲鱼的python教学视频
tkinter学习-选择按钮的更多相关文章
- Python Tkinter 学习成果:点歌软件music
笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...
- tkinter学习-Lable&Button
tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...
- python之tkinter学习目录
前言 下面的目录结构,采用的学习视频资料是网易云课堂中[莫凡]老师的,在目录的最下面的地方给出了对应的链接! 学习是逐渐积累起来的,代码也是!下面的每一篇中的对应代码,都秉承着这样的一个理念:代码是成 ...
- Python:GUI之tkinter学习笔记1控件的介绍及使用
相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...
- tkinter学习系列之(八) Canvas控件
目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...
- python之GUI编程-tkinter学习
推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...
- tkinter学习(5)messagebox、pack、grid和place方法
1.messagebox信息弹出框 1.1 代码: import tkinter as tk #导出tk模块 import tkinter.messagebox #导出弹出信息框 #定义窗口.标题.大 ...
- tkinter学习(4)frame、pack、canvas学习
1.frame和pack学习 1.1 代码: import tkinter as tk window = tk.Tk() window.title('my window') window.geomet ...
- tkinter学习(3)scale尺度条和menu菜单
1.scale学习(尺度条)1.1 代码: #第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题.大小和位置 win = tk.Tk() win.title('s ...
随机推荐
- shell 截取字符串(转)
linux中对字符串的处理: 1.字符串分割例如 AAAAA-BBBBBB 按-分割去前后两部分 cut : [rich@localhost ~]$ str=AAAAA-BBBBBB[rich@l ...
- go系列(3)- go框架beego以及redis的使用
这篇讲讲如何在beego框架使用redis. golang中比较好用的第三方开源redisclient有: go-redis 源码地址:https://github.com/go-redis/redi ...
- java数据结构----数组篇
1.数组作为java常用的数据结构之一,使用相对简单,下图展示了数组常用操作在允许和不允许重复值的情况下的比较次数 2.进行封装后的代码: package com.cn.higharray; /** ...
- HDU3853(期望)
题目很水了,但是原地打转的点……虽然不难想到这个坑,但是从数学的角度来讲期望不应该算正无穷嘛……为什么算0啊? ; ; int R, C; struct gird { db ori, right, d ...
- JavaScript Allongé 第一呷 :基础函数 (2)
啊!我想要有一个参数 到现在为止,我们已经了解了没有参数的函数.只说我们的函数没有任何参数,甚至还没说参数是什么.大多数程序员非常熟悉参数,中学数学就讨论这个了.所以你知道他们是什么,而我也知道你知道 ...
- CSS3基础知识学习
CSS3动画例子展示 http://www.17sucai.com/pins/demoshow/13948 HTML5和CSS3特效展示 http://www.html5tricks.com/30-m ...
- 导入动态Web项目到Eclipse中遇到的问题
问题一:创建动态网页项目时,项目报错而无文件报错 当时解决方法:直接右击项目->properties->project facets将jdk改为1.8版本即可 如图: 问题二:Tomcat ...
- storm trident的filter和函数
目的:通过kafka输出的信息进行过滤,添加指定的字段后,进行打印 SentenceSpout: package Trident; import java.util.HashMap; import j ...
- IE浏览器兼容background-size
background-size是CSS3新增的属性,IE8以下不支持,通过滤镜实现background-size效果 background-size:contain; // 缩小图片来适应元素的尺寸( ...
- uvm_env——UVM大环境(UVM Environment )
1 What is uvm_env? uvm_env is used to create and connect the uvm_components like driver, monitors , ...