tkinter 下拉列表框
时间: 2024-12-28 07:26:00 浏览: 4
### Tkinter Combobox 使用教程
#### 创建 Combobox 控件
为了创建一个 `Combobox` 控件,需要先导入必要的模块并初始化主窗口。由于 `tkinter` 自身不提供 `Combobox` 控件,因此需借助于 `ttk` 模块来实现这一功能[^1]。
```python
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
combo = ttk.Combobox(root)
```
#### 设置父容器
当实例化 `Combobox` 对象时,必须指明其所属的父级容器,这通常是一个 `Tk()` 实例或其他任何有效的 `tkinter` 容器部件,比如框架 (`Frame`) 或者标签框架 (`LabelFrame`) 等[^3]。
#### 配置组合框选项
可以通过设置 `values` 属性给下拉菜单添加多个可选条目;也可以通过调用 `current(index)` 方法设定当前显示项(索引从零开始)。如果希望预设某个特定的选择作为初始状态,则可以在程序启动之初就完成这项工作。
```python
# 添加下拉列表中的值
combo['values'] = ('Python', 'Java', 'C++')
# 默认选择第一个项目
combo.current(0)
```
#### 绑定事件处理函数
每当用户选择了新的条目之后都会触发 `<<ComboboxSelected>>` 虚拟事件,在这里可以绑定自定义的方法来进行响应操作,例如打印所选内容或者更新界面其他部分的状态等[^4]。
```python
def on_select(event):
selected_value = combo.get()
print(f'Selected value is {selected_value}')
combo.bind('<<ComboboxSelected>>', on_select)
```
#### 显示控件
最后一步就是让这个新创建出来的 `Combobox` 可视化地呈现在界面上,一般情况下会采用布局管理器如 `.pack()`,`.grid()`,或`.place()` 来安排位置关系。
```python
combo.pack()
root.mainloop()
```
阅读全文