您的位置:首页 > 编程语言 > Python开发

Python GUI开发之Tkinter基础篇4:Checkbutton、Radiobutton和LabelFrame组件

2020-04-24 08:24 656 查看


文章目录

前言

本文向大家介绍Checkbutton、Radiobutton和LabelFrame组件,Checkbutton组件是常见的多选按钮,而Radiobutton则是单选按钮;LabelFrame可以用来对Checkbutton或是Radiobutton进行美化。

一、Checkbutton使用实例

1、创建一个单选框:

from tkinter import *
window = Tk()
v = IntVar()
Checkbutton(window,text = "选我试试",variable = v).pack()
Label(window,textvariable = v).pack()
mainloop()

选中后,变量v的值为1,未选中为0,并显示在Label中.

运行结果见图2-1和图2-2.

2、有了以上基础,设计一个多选框:

window = Tk()

v1 = IntVar()
v2 = IntVar()
v3 = IntVar()
v4 = IntVar()
Checkbutton(window,text = "张三",variable = v1).pack(anchor = W)
Label(window,textvariable = v1).pack()
Checkbutton(window,text = "李四",variable = v2).pack(anchor = W)
Label(window,textvariable = v2).pack()
Checkbutton(window,text = "王麻子",variable = v3).pack(anchor = W)
Label(window,textvariable = v3).pack()
Checkbutton(window,text = "王二狗",variable = v4).pack(anchor = W)
Label(window,textvariable = v4).pack()

mainloop()

选中后,变量发生改变,显示在Label中.

运行结果见图2-3和图2-4.

二、Radiobutton使用实例

Radiobutton组件跟Chebutton组件用法基本一致,唯一不同的是Radiobutton实现的是"单选"的效果,且同一组内所有的Radiobutton只能共享一个variable选项,并且需要设置不同的value选项值:

from tkinter import *

window = Tk()
v = IntVar()
Radiobutton(window,text = "one",variable = v,value = 1).pack()
Radiobutton(window,text = "two",variable = v,value = 2).pack()
Radiobutton(window,text = "three",variable = v,value = 3).pack()
Label(window,textvariable = v).pack()
mainloop()

运行结果见图2-5.

三、LabelFrame使用实例

LabelFrame组件是Frame框架的进化版,简单的说是添加了Label的Frame,我们可以利用它让Checkbutton或Radiobutton更好看。

设计一个数字列表,供用户选择,代码如下

from tkinter import *
window = Tk()
group = LabelFrame(window,text = "数字列表")
group.pack()
NUMBER = [("one",1),("two",2),("three",3),("four",4)]
v = IntVar()
v.set(1)
for a,num in NUMBER:
b = Radiobutton(group,text = a,variable = v,value = num)
b.pack(anchor = W)
Label(group,textvariable = v).pack()
mainloop()

运行结果如图2-6,系统建立了一个框架并命名为"数字列表"。

注意:这里的Radiobutton是长在"group"中,而不是"window"中。

四、运行

单击run->Run Module运行,Checkbutton显示结果如下:

图2-1

图2-2

Checkbutton多选框未选中时显示结果如下:

图2-3

Checkbutton多选框选中后显示结果如下:

图2-4

Radiobutton显示结果如下:

图2-5

LabelFrame显示结果如下:

图2-6

五、结语

如您在使用过程中有任何问题,请加QQ群进一步交流。

QQ交流群:906015840 (备注:物联网项目交流)。

获取资料:微信扫描下方二维码,关注公众号:一个物联网项目的前世今生,回复tkinter即可。

静晨出品:静之所想,晨之所计

  • 点赞
  • 收藏
  • 分享
  • 文章举报
静晨66 发布了19 篇原创文章 · 获赞 1 · 访问量 393 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: