Python Tkinter 複選框(Checkbutton)

Python GUI編程 Python GUI編程

Python Tkinter 複選框用來選取我們需要的選項,它前面有個小正方形的方塊,如果選中則有一個對號,也可以再次點擊以取消該對號來取消選中。

語法

語法格式如下:

w = Checkbutton ( master, option=value, ... )
  • master: 按鈕的父容器。

  • options: 可選項,即該按鈕的可設置的屬性。這些選項可以用鍵 = 值的形式設置,並以逗號分隔。

序號 可選項 & 描述
1

activebackground

當滑鼠放上去時,按鈕的背景色

2

activeforeground

當滑鼠放上去時,按鈕的前景色

3

bg

按鈕的背景色

4

bitmap

位圖

5

bd

邊框的大小,默認為 2 個像素

6

command

關聯的函數,當按鈕被點擊時,執行該函數

7

cursor

游標的形狀設定,如arrow, circle, cross, plus 等

8

disabledforeground

禁用選項的前景色

9

font

文本字體

10

fg

選項的前景色

11

height

複選框文本行數,默認為 1。

12

highlightcolor

聚焦的高亮顏色

13

image

是否使用圖示

14

justify

顯示多行文本的時候,設置不同行之間的對齊方式,可選項包括LEFT, RIGHT, CENTER

15

offvalue

Checkbutton 的值不僅僅是 1 或 0,可以是其他類型的數值,可以通過 onvalue 和 offvalue 屬性設置 Checkbutton 的狀態值。

16

onvalue

Checkbutton 的值不僅僅是 1 或 0,可以是其他類型的數值,可以通過 onvalue 和 offvalue 屬性設置 Checkbutton 的狀態值。

17

padx

按鈕在x軸方向上的內邊距(padding),是指按鈕的內容與按鈕邊緣的距離,默認為 1 像素。

18

pady

按鈕在y軸方向上的內邊距(padding),默認為 1 像素。

19

relief

邊框樣式,設置控件3D效果,可選的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默認為 FLAT。

20

selectcolor

選中後的顏色,默認為 selectcolor="red"。

21

selectimage

選中後的圖片

22

state

狀態,默認為 state=NORMAL

23

text

顯示的文本,使用 "\n" 來對文本進行換行。

24

underline

下劃線。默認按鈕上的文本都不帶下劃線。取值就是帶下劃線的字串索引,為 0 時,第一個字元帶下劃線,為 1 時,前兩個字元帶下劃線,以此類推

25

variable

變數,variable 的值為 1 或 0,代表著選中或不選中

26

width

默認寬度是複選框的文本或圖像決定的,你可以設置指定字元數。

27

wraplength

是否設置包裹。

方法

以下為常用的方法:
序號 方法 & 描述
1

deselect()

清除複選框選中選項。

2

flash()

在啟動狀態顏色和正常顏色之間閃爍幾次單選按鈕,但保持它開始時的狀態。

3

invoke()

可以調用此方法來獲得與用戶單擊單選按鈕以更改其狀態時發生的操作相同的操作

4

select()

設置按鈕為選中。

5

toggle()

選中與沒有選中的選項互相切換

實例

實例中點擊按鈕會顯示一個資訊:

實例

#!/usr/bin/python # -*- coding: UTF-8 -*- from Tkinter import * import tkMessageBox import Tkinter top = Tkinter.Tk() CheckVar1 = IntVar() CheckVar2 = IntVar() C1 = Checkbutton(top, text = "zaixian", variable = CheckVar1, \ onvalue = 1, offvalue = 0, height=5, \ width = 20) C2 = Checkbutton(top, text = "GOOGLE", variable = CheckVar2, \ onvalue = 1, offvalue = 0, height=5, \ width = 20) C1.pack() C2.pack() top.mainloop()

測試輸出結果如下:

Python GUI編程 Python GUI編程