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
廣告