如何在散景 python 中捕获下拉小部件的值?
如何在散景 python 中捕获下拉小部件的值?
在Python的Tkinter库中,我们可以使用`StringVar()`或者`IntVar()`等变量来捕获下拉小部件(Combobox)的值。以下是一个简单的例子:
```python
import tkinter as tk
def on_combo_change(event): # 当下拉框中的值改变时,这个函数会被调用
print("当前选中的值为:", combo.get()) # 获取当前选中的值并打印出来
root = tk.Tk() # 创建窗口
# 创建一个StringVar变量,用于存储下拉框的值
var = tk.StringVar()
combo = ttk.Combobox(root, textvariable=var) # 创建下拉框,并设置其值变量为var
combo['values'] = ("Option 1", "Option 2", "Option 3") # 设置下拉框的选项
combo.grid() # 将下拉框放置在窗口上
combo.bind("<<ComboboxSelected>>", on_combo_change) # 当下拉框中的值改变时,调用on_combo_change函数
root.mainloop() # 进入主循环
```
在这个例子中,我们首先导入了tkinter模块,并创建了一个Tk窗口。然后,我们创建了一个StringVar变量var和一个Combobox控件,并将Combobox的值变量设置为var。我们还为Combobox设置了选项,并将一个函数绑定到当下拉框中的值改变时的事件上。
在on_combo_change函数中,我们打印出了当前选中的值。
测试用例:
1. 打开窗口,选择"Option 1"
2. 点击窗口外的任何地方,观察控制台输出是否为"当前选中的值为: Option 1"
3. 选择"Option 2"
4. 点击窗口外的任何地方,观察控制台输出是否为"当前选中的值为: Option 2"
这个例子展示了如何在Python的Tkinter库中捕获下拉小部件的值。
作者:潮易