Skip to content
On this page

Python GUI (Tkinter) 元件

以視窗來說常見佈局元件有 標籤按鈕輸入欄..這幾個功能。

標籤 ( Label )

label

py
label = Label(text="my label", font=("Arial", 14, "bold"), padx=5, pady=5, bg="red", fg="yellow")

按鈕 ( Button )

btn

py
button = Button(text="Click Me", font=("Arial", 14, "bold"), padx=5, pady=5, bg="blue", fg="light green", command=button_clicked)

配合function對應按鈕執行命令。

py
def btn_click():
    print('Hello World!')

btn = Button(text='Click Me',command=btn_click)

文字區塊/多行輸入框 ( Text )

text 這是一個多行輸入區塊,通常放在使用者回覆多行文字資訊上,與單行文字欄 (Entry)互有區別。

py
text= Text(width=10, height=10)

文字欄/單行輸入框 ( Entry )

entry 大多配合按鈕使用的文字輸入框,參數可設定輸入顯示為某特定符號,例如*

py
entry = Entry( show="*" )

卷軸型選單 ( Spinbox )

類似下拉選單功能,差別在使用上下鍵來控制選項,可搭配定義的function,來取得選擇後的項目。可使用from_to來定義選項,也可以使用values來取得清單選項。 spinbox

py
def get_spinbox():
    print(spinbox.get())

spinbox=Spinbox(from_=0,to=10,width=20,state='NORMAL',command=get_spinbox)

下拉選單 ( Combobox )

combobox

py
list=['Jan','Feb','Mar','Apr','May','Jun']
combobox= Combobox(values=list, width=7)
# 設定預設值
combobox.set('Jan')
# 也可以這樣設定預設值
combobox.current(0)

取得 combobox 選取值

py
str(combobox.get())

參考