阅读目录

  • 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. c++的substr()函数

    substr()函数注意:string str =“Hello”: substr(0,4)=“Hell”,0是起始位置,4是要复制的长度,strlen函数输出的是除了结束符"\0" ...

  2. Spring Boot后端+Vue前端+微信小程序,完整的开源解决方案!

    项目简介 一个小商场系统,包括: 后端:Spring Boot 管理员前端:Vue 用户前端:微信小程序 功能介绍 1.小商城 首页 专题列表.专题详情 分类列表.分类详情 品牌列表.品牌详情 新品首 ...

  3. java数据结构----堆

    1.堆:堆是一种树,由它实现的优先级队列的插入和删除的时间复杂度都是O(logn),用堆实现的优先级队列虽然和数组实现相比较删除慢了些,但插入的时间快的多了.当速度很重要且有很多插入操作时,可以选择堆 ...

  4. Codeforces Round #532(Div. 2) B.Build a Contest

    链接:https://codeforces.com/contest/1100/problem/B 题意: 给n,m. 给m个数,每个数代表一个等级,没给一个将其添加到题目池中,当题目池中有难度(1-n ...

  5. Macbook上sublime的C++11弥补bits/stdc++.h的配置

    如果在windows配置过的话这次会容易很多.相关博客很多了,我这里保存一下我借鉴并成功的配置: 关于自己build的C++,文件类型为sublime-build,直接扔在它给出的user文件夹即可, ...

  6. mongodb的基本命令操作

    mongodb在已经存在管理员的情况下,需要创建一个库 使用管理员进入mongodb的命令行界面 mongo admin -u 管理员名 -p 管理员密码 创建库(进入库) use 库名 创建当前库的 ...

  7. 转:在linux中vi 文件里行尾奇怪的^M及解决

    Linux编辑器vim中删除行尾的^M 有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符.看起来总是感觉很别扭. 删除方法如下: 在 Vim 的命令模 ...

  8. max713镍氢电池充电管理IC

    PDF:https://datasheets.maximintegrated.com/en/ds/MAX713SWEVKIT.pdf http://www.ixueshu.com/document/b ...

  9. React项目搭建(脚手架)

    首先我们需要安装node环境:download nodejs:https://i.cnblogs.com/EditPosts.aspx?opt=1 找到你需要的版本和系统安装包下载并安装. 这时候你可 ...

  10. Number of 1 BitsWrite a function that takes an unsigned integer and returns the number of ’1' bits i

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...