Tkinter 复选框



复选框小部件用于以切换按钮的形式向用户显示多个选项。然后,用户可以通过单击对应于每个选项的按钮来选择一个或多个选项。

您还可以显示图像来代替文本。

语法

以下是创建此小部件的简单语法:

w = Checkbutton ( master, option, ... )

参数

  • master − 表示父窗口。

  • options − 以下是此小部件最常用的选项列表。这些选项可以用逗号分隔的键值对形式使用。

序号 选项与描述
1

Activebackground

当复选框位于光标下时,背景颜色。

2

Activeforeground

当复选框位于光标下时,前景颜色。

3

Bg

显示在标签和指示器后面的普通背景颜色。

4

Bitmap

在按钮上显示单色图像。

5

Bd

指示器周围边框的大小。默认为 2 像素。

6

Command

每次用户更改此复选框状态时要调用的过程。

7

Cursor

如果将此选项设置为光标名称(箭头、点等),则当鼠标位于复选框上时,鼠标光标将更改为该图案

8

disabledforeground

用于呈现禁用复选框文本的前景色。默认为默认前景色的一种点状版本。

9

Font

用于文本的字体。

10

Fg

用于呈现文本的颜色。

11

Height

复选框上的文本行数。默认为 1。

12

Highlightcolor

复选框获得焦点时焦点高亮的色彩。

13

Image

在按钮上显示图形图像。

14

Justify

如果文本包含多行,此选项控制文本的对齐方式:CENTER、LEFT 或 RIGHT。

15

Offvalue

通常,当复选框被清除(关闭)时,其关联的控制变量将设置为 0。您可以通过将 offvalue 设置为该值来为关闭状态提供备用值。

16

Onvalue

通常,当复选框被选中(打开)时,其关联的控制变量将设置为 1。您可以通过将 onvalue 设置为该值来为打开状态提供备用值。

17

Padx

在复选框和文本的左侧和右侧留出多少空间。默认为 1 像素。

18

Pady

在复选框和文本的上方和下方留出多少空间。默认为 1 像素。

19

Relief

使用默认值 relief=FLAT 时,复选框不会从背景中脱颖而出。您可以将其设置为任何其他样式。

20

Selectcolor

复选框被选中时的颜色。默认为 selectcolor="red"。

21

Selectimage

如果将此选项设置为图像,则该图像将在复选框选中时显示。

22

State

默认为 state=NORMAL,但您可以使用 state=DISABLED 来使控件变灰并使其无响应。如果光标当前位于复选框上,则状态为 ACTIVE。

23

Text

复选框旁边显示的标签。使用换行符("\n")显示多行文本。

24

Underline

使用默认值 -1 时,文本标签的任何字符都不会被下划线。将其设置为文本中字符的索引(从零开始计数)以对该字符进行下划线。

25

Variable

跟踪复选框当前状态的控制变量。通常此变量是 IntVar,0 表示清除,1 表示选中,但请参见上面的 offvalue 和 onvalue 选项。

26

Width

复选框的默认宽度由显示的图像或文本大小决定。您可以将此选项设置为特定字符数,复选框将始终为这么多字符预留空间。

27

换行长度

通常情况下,文本不会自动换行。您可以将此选项设置为特定字符数,所有行都将被分割成不超过该字符数的片段。

方法

以下是此控件常用方法:

序号 方法及描述
1

deselect()

清除(关闭)复选框。

2

flash()

在复选框的激活颜色和正常颜色之间闪烁几次,但最终状态保持不变。

3

invoke()

您可以调用此方法来模拟用户点击复选框以更改其状态的操作。

4

select()

设置(选中)复选框。

5

toggle()

如果复选框已选中则清除,如果未选中则设置。

示例

请尝试以下示例:

from tkinter import *
import tkinter

top = Tk()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
C1 = Checkbutton(top, text = "Music", variable = CheckVar1, \
   onvalue = 1, offvalue = 0, height=5, \
   width = 20, )
C2 = Checkbutton(top, text = "Video", variable = CheckVar2, \
   onvalue = 1, offvalue = 0, height=5, \
   width = 20)
C1.pack()
C2.pack()
top.mainloop()

执行以上代码后,将产生以下结果:

tkinter_checkbutton
python_gui_programming.htm
广告