Tkinter Checkbutton复选框

Tkinter Checkbutton复选框

Checkboxes可以翻译为复选框,它在Widget控件中的类别名称是Checkbutton。复选框在屏幕上显示为一个方框,它与选项按钮最大的差别在于它是复选。在设计复选框时,最常见的方式是让复选框以文字形式存在。与标签一样,也可以设计含有图像的复选框。

程序设计时可以设计让每个复选框与函数(或称方法)绑在一起,当此选项被选择时,可以自动执行相关的函数或方法。另外,程序设计时可能会有多组复选框,此时可以设计一组复选框有一个相关的变量,由此变量绑定这组复选框。

可以使用Checkbutton( )方法建立复选框,它的使用方法如下。

Checkbutton(master, options, ...)

Checkbutton( )方法的第一个参数是父对象,表示这个复选框将建立在哪一个父对象内。下列是Checkbutton( )方法内其他常用的options参数。

(1)activebackground:鼠标光标在复选框上时的背景颜色。

(2)activeforeground:鼠标光标在复选框上时的前景颜色。

(3)bg:标签背景或indicator的背景颜色。

(4)bitmap:位图图像对象。

(5)borderwidth or bd:边界宽度默认是两个像素。

(6)command:当用户更改选项时,会自动执行此函数。

(7)cursor:当鼠标光标在复选框上时的光标形状。

(8)disabledforeground:当无法操作时的颜色。

(9)font:字形。

(10)height:复选框中的文字有几行,默认是1行。

(11)highlightbackground:当复选框取得焦点时的背景颜色。

(12)highlightcolor:当复选框取得焦点时的颜色。

(13)image:图像对象,如果要建立含图像的选项按钮时,可以使用此参数。

(14)justify:当含多行文字时,最后一行文字的对齐方式。

(15)offvalue:这是控制变量,默认若复选框未选取值是0,可以由此更改设置此值。

(16)onvalue:这是控制变量,默认若复选框未选取值是1,可以由此更改设置此值。

(17)padx:默认是1,可设置复选框与文字的间隔。

(18)pady:默认是1,可设置复选框的上下间距。

(19)relief:默认是relief=FLAT,可由此控制复选框外框。

(20)selectcolor:当复选框被选取时的颜色。

(21)selectimage:如果设置图像复选框,可由此设置当复选框被选取时的不同图像。

(22)state:默认是state=NORMAL,若是设置DISABLED则以灰阶显示复选框,表示暂时无法使用。如果鼠标光标在复选框上方表示ACTIVE。

(23)text:复选框旁的文字。

(24)underline:可以设置第几个文字有下画线,从0开始算起,默认是-1,表示无下画线。

(25)variable:设置或取得目前选取的复选框,它的值类型通常是IntVar或StringVar。

(26)width:复选框的文字有几个字符宽,省略时会自行调整为实际宽度。

(27)wraplength:限制每行的文字数,默认是0,表示只有“\n”才会换行。

Tkinter Checkbutton复选框 示例1

建立复选框的应用。

from tkinter import *

root = Tk()
root.title("apidemos.com")

lab = Label(root,text="请选择喜欢的运动",fg="blue",bg="lightyellow",width=30)
lab.grid(row=0)

var1 = IntVar()
cbtnNFL = Checkbutton(root,text="美式足球",variable=var1)
cbtnNFL.grid(row=1,sticky=W)                          # 左对齐

var2 = IntVar()
cbtnMLB = Checkbutton(root,text="棒球",variable=var2)
cbtnMLB.grid(row=2,sticky=W)                          # 左对齐

var3 = IntVar()
cbtnNBA = Checkbutton(root,text="篮球",variable=var3)
cbtnNBA.grid(row=3,sticky=W)                          # 左对齐

root.mainloop()

输出:

Tkinter Checkbutton复选框

如果复选框中项目不多,可以参考上述实例使用Checkbutton( )方法一步一步建立复选框的项目。如果项目很多,可以将项目组织成字典,然后使用循环建立复选框,可参考下列实例。

Tkinter Checkbutton复选框 示例2

以sports字典方式存储运动复选框项目,然后建立此复选框,当有选择项目时,若是单击“确定”按钮,可以在Python Shell窗口中列出所选的项目。

from tkinter import *

def printInfo():
    selection = ""
    # print("before iteration:")
    # print(selection)
    for i in checkboxes.keys():           # 检查此字典的关键字,同: for i in checkboxes:
        if checkboxes[i].get() == True:   # 若被选中则执行
            selection = selection + sports[i] + "\t"
            # print(selection)
    # print("after iteration:")
    print(selection)

root = Tk()
root.title("apidemos.com")  # 窗口标题

label = Label(root,text="请选择喜欢的运动",fg="blue",bg="lightyellow",width=30)
label.grid(row=0)

sports = {0:"美式足球",1:"棒球",2:"篮球",3:"网球",4:"足球",5:"游泳"}  # sports字典是存储运动项目的复选框。
checkboxes = {}   # checkboxes字典则是存储选项是否被选取。
for i in range(len(sports)):       # 循环将sports字典内容转成复选框。
    checkboxes[i] = BooleanVar()   # 将checkboxes内容设为BooleanVar对象,经过这样设置后才可以用get()方法取得它的内容。
    Checkbutton(root,text=sports[i],
                variable=checkboxes[i]).grid(row=i+1,sticky=W)

btn = Button(root,text="确定",width=10,command=printInfo) #创建“确定”按钮,当单击此按钮时会执行printInfo( )函数,这个函数主要是将被选取的项目打印出来。
btn.grid(row=i+2)
# btn.grid()

root.mainloop()

输出:

Tkinter Checkbutton复选框

上述右图中若是单击“确定”按钮,可以在Python Shell窗口中看到下列结果。

Tkinter Checkbutton复选框

赞(1)
未经允许不得转载:极客笔记 » Tkinter Checkbutton复选框

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Tkinter入门
tkinter 简介tkinter 建立空白窗口tkinter 窗口属性的设置tkinter 窗口位置设置Tkinter Widget的command参数
Tkinter选项按钮与复选框
tkinter 选项按钮与复选框
Tkinter 文本框Entry
Tkinter 使用eval计算数学表达式
Tkinter 变量
Tkinter 变量类别的基本概念Tkinter 变量 get()与set()Tkinger 变量追踪trace()使用w模式Tkinter 变量追踪trace()使用r模式Tkinter trace()方法调用的callback方法参数Tkinter 变量实例:计算器
Tkinter 选项按钮Radiobutton
Tkinter Radiobutton教程Tkinter 将字典应用在Radiobutton上Tkinter 盒子选项按钮Tkinter 建立含图像的Radiobutton
Tkinter 复选框Checkbutton
Tkinter Checkbutton复选框Tkinter Checkbutton示例 - 简单编辑程序的应用
Tkinter 框架Frame
Tkinter Frame 框架的基本概念Tkinter 在Frame内创建WidgetTkinter Frame relief属性Tkinter Frame中创建复选框Tkinter Frame对relief属性的额外支持Tkinter 标签框架LabelFrameTkinter 在标签框架中添加复选框Tinker 顶层窗口ToplevelTkinter 使用Toplevel窗口仿真对话框
Tkinter Scale
Tkinter Scale的基本概念Tkinter 取得与设置Scale的尺度值Tkinter 使用Scale设置窗口背景颜色Tkinter colorchooser askcolor()方法Tkinter 容器与Scale综合应用
Tkinter Spinbox
Tkinter Spinbox控件基本概念Tkinter Spinbox get方法Tkinter 以序列存储Spinbox的数值数据Tkinter Spinbox使用非数值数据
Tkinter Message
Tkinter Message的基本概念Tkinter Message 使用字符串变量处理text参数Tkinter Messagebox教程
Tkinter 事件
Tkinter 事件绑定Tkinter 鼠标绑定的基本应用Tkinter 键盘绑定的基本应用Tkinter 键盘与鼠标事件绑定的陷阱Tkinter 取消绑定Tkinter 一个事件绑定多个事件处理程序Tkinter Protocols
Tkinter ListBox
Tkinter 建立列表框Tkinter ListBox insert()方法Tkinter Listbox的基本操作Tkinter ListBox选项数量size()Tkinter ListBox 选取特定索引项selection_set()Tkinter ListBox 删除特定索引项delete()Tkinter ListBox 传回指定的索引项get()Tkinter ListBox 传回所选取项目的索引curselection()Tkinter 检查ListBox指定索引项是否被选取Tkinter ListBox 虚拟绑定应用于单选Tkinter ListBox 虚拟绑定应用于多选Tkinter ListBox加入与删除项目Tkinter Listbox项目的排序Tkinter 拖曳Listbox中的项目Tkinter 滚动条的设计
Tkinter 下拉式列表
Tkinter 下拉式列表OptionMenuTkinter 使用元组建立OptionMenu列表项目Tkinter OptionMenu建立默认选项Tkinter OptionMenu 获得选项内容
Tkinter 组合框
Tkinter 组合框ComboboxTikinter Combobox设置默认选项Tkinter Combobox获得目前选项Tkinter 绑定Combobox
Tkinter 面板
Tkinter PanedWindow基本概念Tkinter PanedWindow 插入子控件Tkinter PanedWindow 建立LabelFrame当作子对象Tkinter PanedWindow weight参数Tkinter 在PanedWindow内插入不同控件
Tkinter Notebook
Tkinter Notebook基本概念Tkinter Notebook 绑定选项卡与子控件内容
Tkinter 进度条
Tkinter Progressbar的基本应用Tkinter Progressbar动画设计Tkinter Progressbar start/step/stop 方法Tkinter Progressbar indeterminate模式
Tkinter 菜单
Tkinter 菜单Menu设计的基本概念Tkinter Menu tearoff参数Tkinter Menu 菜单列表间加上分隔线Tkinter Menu 建立多个菜单的应用Tkinter Menu Alt快捷键Tkinter Menu Ctrl+快捷键Tkinter Menu 建立子菜单Tkinter Menu 建立弹出式菜单Tkinter Menu add_checkbuttonTkinter Menu 建立工具栏Toolbar
Tkinter 文字区域
Tkinter 文字区域Text的基本概念Tkinter Text 插入文字Tkinter Text加上滚动条Scrollbar设计Tkinter Text family参数Tkinter Text weight参数Tkinter Text size参数Tkinter Text 选取文字Tkinter 认识Text的索引Tkinter Text 建立书签Tkinter Text标签Tkinter Text Cut/Copy/Paste功能Tkinter Text 复原与重复Tkinter Text 查找文字Tkinter Text 拼写检查Tkinter Text 存储Text控件内容Tkinter Text 新建文档Tkinter 打开文档Tkinter 默认含滚动条的ScrolledText控件Tkinter Text 插入图像
Tkinter Treeview
Tkinter Treeview的基本概念Tkinter 格式化Treeview栏位内容Tkinter Treeview 建立不同颜色的行内容Tkinter 建立层级式的TreeviewTkinter Treeview 插入图像Tkinter Treeview Selection选项发生与事件触发Tkinter Treeview 删除项目Tkinter Treeview 插入项目Tkinter Treeview 双击某个项目Tkinter Treeview绑定滚动条Tkinter Treeview 排序
Tkinter Canvas
Tkinter Canvas 绘制线条Tkinter Canvas 绘制矩形Tkinter Canvas 绘制圆弧Tkinter Canvas 绘制圆或椭圆Tkinter Canvas 绘制多边形Tkinter Canvas 输出文字Tkinter Canvas 更改画布背景颜色Tkinter Canvas 插入图像Tkinter Canvas 鼠标拖曳绘制线条Tkinter Canvas 基本动画Tkinter Canvas 多个球移动的设计Tkinter Canvas 将随机数应用于多个球体的移动Tkinter Canvas 消息绑定Tkinter Canvas 设计球往下移动Tkinter Canvas 设计让球上下反弹Tkinter Canvas 设计让球在画布四面反弹Tkinter Canvas 建立球拍Tkinter Canvas 设计球拍移动Tkinter Canvas 球拍与球碰撞的处理Tkinter Canvas 实现反弹球设计游戏