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()