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()
微信扫码关注
抖音扫码关注