登录 Combobox 下拉选项框
该 ttk.Combobox 控件结合了文本字段值的弹出的下拉列表。此小部件是 Entry 的子类。
除了从 Widget 继承的方法:Widget.cget(), Widget.configure(),Widget.identify(),Widget.instate() 和 Widget.state(),以及继承自 Entry: Entry.bbox() 的以下方法,Entry.delete(),Entry.icursor(), Entry.index(),Entry.inset(),Entry.selection(), Entry.xview(),它有一些其他方法,在 ttk.Combobox 中描述。
此小部件接受以下特定选项:
| 选项 | 描述 |
|---|---|
| exportselection | 布尔值。如果设置,则窗口小部件选择链接到窗口管理器选择(例如,可以通过调用 Misc.selection_get 返回)。 |
| justify | 指定文本在窗口小部件中的对齐方式。“left”,“center”或“right”之一。 |
| height | 以行为单位指定弹出列表框的高度。 |
| postcommand | 在显示值之前立即调用的脚本(可能已在 Misc.register 中注册)。它可以指定要显示的值。 |
| state | "normal”,“readnoly”或“disabled”之一。在“readonly”状态下,可能无法直接编辑该值,并且用户只能从下拉列表中选择值。在“normal”状态下,文本字段可直接编辑。在“disabled”状态下,不可能进行交互。 |
| textvariable | 指定其值链接到窗口小部件值的名称。只要与该名称关联的值发生更改,窗口小部件值就会更新,反之亦然。请参阅 tkinter.StringVar。 |
| values | 指定要在下拉列表框中显示的值列表 |
| width | 指定一个整数值,指示输入窗口的所需宽度,以小部件字体的平均大小字符表示。 |
ttk.Combobox
如果指定了 newindex,则将组合框值设置为元素位置 newindex。否则,返回当前值的索引,如果当前值不在值列表中,则返回 -1。
get()返回组合框的当前值。set(value)将组合框的值设置为 value。
python
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('500x300')
number_int_var = tk.StringVar()
# 创建一个下拉列表
numberChosen = ttk.Combobox(root, textvariable=number_int_var)
# 设置下拉列表的值
numberChosen['values'] = (1, 2, 4, 42, 100)
# 设置其在界面中出现的位置 column 代表列 row 代表行
numberChosen.pack()
# 设置下拉列表默认显示的值,0 为 numberChosen['values'] 的下标值
numberChosen.current(0)
def func():
print(number_int_var.get())
tk.Button(root, text='打印选中内容', command=func).pack()
root.mainloop()