核取按鈕部件的建立及其選項
import tkinter as tk
parent = tk.Tk()
w = tk.Checkbutton(parent, option=value, ...)
選項 |
說明 |
activebackground |
active 時的背景色 |
activeforeground |
active 時的前景色 |
anchor |
部件定位點 |
bg or background |
背景色, 點陣圖時為顏色值0的顏色 |
bitmap |
按鈕的點陣圖 |
bd or borderwidth |
指示框的寛度, 內定為2圖素 |
command |
部件狀態值改變呼叫的程式 |
compound |
圖與文字共用時, 圖相對於文字的位置. TOP/DOWN/LEFT/BOTTOM/CENTER |
cursor |
當滑鼠移到部件時, 所顯示的滑鼠圖示 |
disabledforeground |
disabled 時的前景色 |
font |
文字字型 |
fg or foreground |
前景色, 點陣圖時為顏色值1的顏色 |
height |
文字行數, 內定為1 |
highlightbackground |
非聚焦時的聚焦顏色 |
highlightcolor |
聚焦時的聚焦顏色 |
highlightthickness |
聚焦厚度, 內定1, 0則無 |
image |
按鈕圖片 |
indicatoron |
有沒有狀態指示器, 1 或 0, 0 則沒有, 就會變成兩個按鈕 |
justify |
多行文字的對齊方式, LEFT/RIGHT/CENTER |
offrelief |
部件狀態值為 0 時的顯示花邊樣式, 內定為 RAISED |
offvalue |
部件狀態值為 0 時的的變數值 |
onvalue |
部件狀態值為 1 時的的變數值 |
overrelief |
滑鼠在按鈕上方時的顯示花邊樣式 |
padx |
水平間距, 內定為 1 點素 |
pady |
垂直間距, 內定為 1 點素 |
relief |
按鈕花邊樣式, 內定為 FLAT |
selectcolor |
選定按鈕的顏色, 內定為 red |
selectimage |
選定按鈕的圖片 |
state |
狀態 NORMAL 內定 / HIDDEN/DISABLED |
takefocus |
TAB 鍵在畫布是否會迴圈焦點,1 則會,內定為空字串,則僅在具有鍵繫結下迴圈焦點 |
text |
文字字串,使用\n 分行 |
textvariable |
文字字串變數 |
underline |
設定下底線的位置, 內定 -1 為無 |
variable |
選定的按鈕變數值 |
width |
文字寛度, 內定為顯示文字或圖片的尺寸 |
wraplength |
文字分行寛度 |
方法及說明
方法 |
說明 |
deselect() |
取消按鈕 |
flash() |
在 normal 與 active 間的數次顏色切換 |
invoke() |
點選按鈕 |
select() |
選擇按鈕 |
toggle() |
切換按鈕 |
範例視窗及程式碼
from tkinter import *
def action():
select = [item.get() for item in selection]
label.configure(text=f'{select}')
def bttn(index):
print(index)
func[index]()
action()
root = Tk()
selection = [IntVar() for i in range(5)]
check_button = [Checkbutton(root, text=f'Option {i}', variable=selection[i],
command=action) for i in range(5)]
for i in range(5):
check_button[i].grid(column=i, row=0)
label = Label(text='', height=1, width=20)
label.grid(column=2, row=1)
action()
function = ["deselect - OFF", "flash", "invoke - Click", "select - ON",
"toggle - ON/OFF"]
button = [Button(text=key, width=20, command=lambda k=i: bttn(k))
for i, key in enumerate(function)]
for i in range(5):
button[i].grid(column=i, row=2)
func = [check_button[0].deselect, check_button[0].flash, check_button[0].invoke,
check_button[0].select, check_button[0].toggle]
top.mainloop()
本作品採用《CC 協議》,轉載必須註明作者和本文連結