欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python Tkinter 之Checkbutton控件(Python GUI 系列7)

程序员文章站 2022-04-12 09:46:57
...

Python Tkinter 之Checkbutton控件(Python GUI 系列7) 

1. 序言

    本章介绍Tkinter的Checkbutton控件,本文是Python GUI系列的第7篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。

2. 环境信息

********************************
本系列运行平台:Mac OS 10.13.4
Python 版本:3.6.4

********************************   

3. Checkbutton控件

    Checkbutton是复选框,又称为多选按钮,可以表示两种状态。用法:Checkbutton ( master, option, ... ),其中可选属性option有很多,如下表所示,这些属性中很多与前面介绍的用法一致,就不在介绍了。  

函数

描述

text

显示文本内容

command

指定Checkbutton的事件处理函数

onvalue

指定Checkbutton处于On状态时的值,如,onvalue=“valueX”

offvalue

指定Checkbutton处于Off状态时的值

image

可以使用gif图像,图像的加载方法img = PhotoImage(root,file = filepath)

bitmap

指定位图,如bitmap= BitmapImage(file = filepath)

variable

控制变量,跟踪Checkbutton的状态,On(1),Off(0)

master

代表了父窗口

bg

背景色,如bg=”red”, bg="#FF56EF"

fg

前景色,如fg=”red”, fg="#FF56EF"

font

字体及大小,如font=("Arial", 8),font=("Helvetica 16 bold italic")

height

设置显示高度、如果未设置此项,其大小以适应内容标签

relief

指定外观装饰边界附近的标签,默认是平的,可以设置的参数:flat、groove、raised、ridge、solid、sunken

width

设置显示宽度,如果未设置此项,其大小以适应内容标签

wraplength

将此选项设置为所需的数量限制每行的字符,数默认为0

state

设置组件状态;正常(normal),**(active),禁用(disabled)

selectcolor

设置选中区的颜色

selectimage

设置选中区的图像,选中时会出现

underline

With the default value of -1, none of the characters of the text label are underlined. Set this option to the inde

bd

设置Checkbutton的边框大小;bd(bordwidth)缺省为1或2个像素

textvariable

设置Checkbutton的textvariable属性,文本内容变量

padx

标签水平方向的边距, 默认为1像素

pady

标签竖直方向的边距, 默认为1像素.

justify

标签文字的对齐方向, 可选值为 RIGHT, CENTER, LEFT, 默认为 Center

以下是这个小工具的常用方法:

函数

描述

deselect()

Clears (turns off) the checkbutton.

flash()

Flashes the checkbutton a few times between its active and normal colors, but leaves it the way it started.

invoke()

You can call this method to get the same actions that would occur if the user clicked on the checkbutton to change its state.

select()

Sets (turns on) the checkbutton.

toggle()

Clears the checkbutton if set, sets it if cleared.

Medthod

Description

deselect()

Clears (turns off) the checkbutton.

toggle()

Clears the checkbutton if set, sets it if cleared.

一组实例

实例1-创建一组复选框

from Tkinter import*

#初始化Tk()
myWindow = Tk()
#设置标题
myWindow.title('Python GUI Learning')
 
# 用来获取复选框是否被勾选,通过chVarDis.get()来获取其的状态,其状态值为int类型 勾选为1  未勾选为0
chVarDis = IntVar()
# text为该复选框后面显示的名称, variable将该复选框的状态赋值给一个变量,当state='disabled'时,该复选框为灰色,不能点的状态
check1 = Checkbutton(myWindow, text="Disabled", variable=chVarDis, state='disabled')   
# 该复选框是否勾选,select为勾选, deselect为不勾选
check1.select()    
# sticky=tk.W  当该列中其他行或该行中的其他列的某一个功能拉长这列的宽度或高度时,
# 设定该值可以保证本行保持左对齐,N:北/上对齐  S:南/下对齐  W:西/左对齐  E:东/右对齐
check1.grid(column=0, row=0, sticky=W)     

chvarUn = IntVar()
check2 = Checkbutton(myWindow, text="UnChecked", variable=chvarUn)
check2.deselect()
check2.grid(column=1, row=0, sticky=W)

chvarEn = IntVar()
check3 = Checkbutton(myWindow, text="Enabled", variable=chvarEn)
check3.select()
check3.grid(column=2, row=0, sticky=W)

#进入消息循环
myWindow.mainloop()

运行结果:

Python Tkinter 之Checkbutton控件(Python GUI 系列7)

实例2-绑定响应函数

from Tkinter import*

def callCheckbutton():
    #改变v的值,即改变Checkbutton的显示值
    v.set('check CheckButton')
    
#初始化Tk()
myWindow = Tk()
#设置标题
myWindow.title('Python GUI Learning')
 
v = StringVar()
v.set('check python')

#绑定v到Checkbutton的属性textvariable
Checkbutton(myWindow,textvariable = v,command = callCheckbutton).pack()
#进入消息循环
myWindow.mainloop()

运行结果:

Python Tkinter 之Checkbutton控件(Python GUI 系列7)

点击选择框,响应函数将控件文本替换

Python Tkinter 之Checkbutton控件(Python GUI 系列7)