阅读目录

  • 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学习-选择按钮的更多相关文章

  1. Python Tkinter 学习成果:点歌软件music

    笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...

  2. tkinter学习-Lable&Button

    tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...

  3. python之tkinter学习目录

    前言 下面的目录结构,采用的学习视频资料是网易云课堂中[莫凡]老师的,在目录的最下面的地方给出了对应的链接! 学习是逐渐积累起来的,代码也是!下面的每一篇中的对应代码,都秉承着这样的一个理念:代码是成 ...

  4. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

  5. tkinter学习系列之(八) Canvas控件

    目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...

  6. python之GUI编程-tkinter学习

    推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...

  7. tkinter学习(5)messagebox、pack、grid和place方法

    1.messagebox信息弹出框 1.1 代码: import tkinter as tk #导出tk模块 import tkinter.messagebox #导出弹出信息框 #定义窗口.标题.大 ...

  8. tkinter学习(4)frame、pack、canvas学习

    1.frame和pack学习 1.1 代码: import tkinter as tk window = tk.Tk() window.title('my window') window.geomet ...

  9. tkinter学习(3)scale尺度条和menu菜单

    1.scale学习(尺度条)1.1 代码: #第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题.大小和位置 win = tk.Tk() win.title('s ...

随机推荐

  1. 【微服务】Dubbo初体验

    一.前言 之前微服务这块只用过SpringCloud搭建,但是最近面试会被问到dubbo框架,虽然之前也学了但是都忘了,故写此博客加深印象. 二.原理简介 Dubbo是一个分布式服务框架,以及阿里巴巴 ...

  2. idea | 命名空间改过后重新导入项目方法

    file菜单-->Open-->找到项目中pom文件-->会提示as project 和as file-->选择as project,会自动生成idea所有相关的文件

  3. wawawa8的模板复习计划

    wawawa8的模板复习计划 数据结构 //手写堆 [link][https://www.luogu.org/problemnew/show/P3378] //并查集 [link][https://w ...

  4. handler 方法进不去,服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看

    HTTP/1.1 500 Internal Server ErrorCache-Control: privateContent-Type: text/html; charset=utf-8Server ...

  5. [转]POI : How to Create and Use User Defined Functions

    本文转自:http://poi.apache.org/spreadsheet/user-defined-functions.html How to Create and Use User Define ...

  6. JS中的回收机制

    js的设计者为了让没有必要的变量保存在内存中,(我们写的任何变量都是需要内存空间的),什么叫没有必要的变量?也就是说你不在需要这个变量的时候它就会被销毁?那么你肯定会问js怎么知道那些变量是我们不需要 ...

  7. node.js0-5初级者

    伴着<妈是心中的茉莉花> 这里,我用的sublime记事本,所以用的运行方法是终端.(后来发现git 可以省去cd切换目录). 安装node.js  官网说的很清楚. 这里我们可以在js文 ...

  8. 雨林木风ghost win7 64位快速装机版V2016年

    雨林木风ghost win7 64位快速装机版V2016年2月 系统下载:http://www.xitongma.com 系统概述 雨林木风ghost win7 64位旗舰装机版自动无人值守安装,采用 ...

  9. (1)Ngixn 编译安装 (版本:1.12.1)

        1.创建用户和群组     groupadd nginx     创建一个用户,不允许登陆和不创主目录     useradd -s /sbin/nologin -g nginx -M ngi ...

  10. ubuntu 16.04 国内源安装docker

    1. 通过curl命令安装 检查是否安装curl root@ros-OptiPlex-3050:~# which curlroot@ros-OptiPlex-3050:~# 更新安装 root@ros ...