Python GUI (Tkinter) 元件
以視窗來說常見佈局元件有 標籤
、按鈕
、輸入欄
..這幾個功能。
標籤 ( Label )
py
label = Label(text="my label", font=("Arial", 14, "bold"), padx=5, pady=5, bg="red", fg="yellow")
按鈕 ( Button )
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 )
這是一個多行輸入區塊,通常放在使用者回覆多行文字資訊上,與單行文字欄 (Entry)互有區別。
py
text= Text(width=10, height=10)
文字欄/單行輸入框 ( Entry )
大多配合按鈕使用的文字輸入框,參數可設定輸入顯示為某特定符號,例如*
py
entry = Entry( show="*" )
卷軸型選單 ( Spinbox )
類似下拉選單功能,差別在使用上下鍵來控制選項,可搭配定義的function,來取得選擇後的項目。可使用from_
、to
來定義選項,也可以使用values
來取得清單選項。
py
def get_spinbox():
print(spinbox.get())
spinbox=Spinbox(from_=0,to=10,width=20,state='NORMAL',command=get_spinbox)
下拉選單 ( 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())