ttk.Combobox 下拉選單
Combobox 下拉選單是 tkinter 的 ttk 加強模組裡的元件,讓使用者可以使用「下拉選單」進行選取特定的選項,這篇教學會介紹如何在 tkinter 中使用 Combobox 下拉選單。
快速導覽:
因為 Google Colab 不支援 tkinter,所以請使用本機環境 ( 參考:使用 Python 虛擬環境 ) 或使用 Anaconda Jupyter 進行實作 ( 參考:使用 Anaconda )。
加入 Combobox
一開始先載入 tkinter 和 ttk 模組,建立 tkinter 視窗物件後,透過 Combobox 方法,就能在視窗物件中建立 Combobox 下拉選單,必要的參數有兩個,第一個表示要加入的視窗物件,第二個是下拉選單的內容,下方的程式碼執行後,會在視窗裡加入一個 Combobox 下拉選單 ( 位置、大小和顏色都使用預設值 )。
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title('oxxo.studio')
root.geometry('200x200')
box = ttk.Combobox(root, values=['七龍珠','海賊王','鬼滅之刃','灌籃高手','排球少年'])
box.pack()
root.mainloop()
Combobox 參數設定
加入 Combobox 之後,可以透過 Combobox 的參數設定相關行為和樣式,下方列出 Combobox 的相關參數:
參數 | 說明 |
---|---|
width | 下拉選單寬度,預設 20 個字元。 |
height | 下拉選單高度,預設 20 列。 |
values | 下拉選單內容,使用 tuple 或串列形式表現。 |
textvariable | 綁定下拉選單的變數。 |
state | 下拉選單狀態,可設定 noraml、disabled 或 readonly。 |
Combobox 操作方法
透過下列方法,可以進行 Combobox 下拉選單的相關操作:
方法 | 參數 | 說明 |
---|---|---|
get() | 取得下拉選單選擇的值。 | |
set() | option | 設定某選項被選取。 |
current() | index | 設定某索引值的選項被選取,如果沒有設定 index 則與 get() 類似,但回傳值為選取的索引值。 |
顯示 Combobox 選取內容
下方的程式碼搭配 Button 按鈕與 Label 標籤,執行後點擊下拉選單進行選擇,選擇後按下按鈕,就會顯示選項的索引值以及內容。
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title('oxxo.studio')
root.geometry('200x200')
def show():
a.set(f'{box.current()}:{box.get()}') # 顯示索引值與內容
a = tk.StringVar() # 定義變數
a.set('')
label = tk.Label(root, textvariable=a) # 建立標籤,內容為變數
label.pack()
box = ttk.Combobox(root,
width=15,
values=['七龍珠','海賊王','鬼滅之刃','灌籃高手','排球少年'])
box.pack()
btn = tk.Button(root, text='顯示', command=show) # 建立按鈕,點擊按鈕時,執行 show 函式
btn.pack()
root.mainloop()
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~