tkinter设置下拉菜单,每个选项都绑定一个函数,代码怎么写
时间: 2024-02-28 17:57:56 浏览: 64
你可以使用 `command` 参数来绑定每个选项的函数。每个选项对应的函数可以通过 `lambda` 表达式来定义。
下面是一个示例代码,可以将每个选项与不同的函数绑定:
```python
import tkinter as tk
root = tk.Tk()
# 定义一个变量,用于存储当前选中的选项
selected_option = tk.StringVar()
# 设置默认选项
selected_option.set('Option 1')
# 定义选项列表
options = ['Option 1', 'Option 2', 'Option 3']
# 定义选项对应的函数
def option1_func():
print('Option 1 Selected')
def option2_func():
print('Option 2 Selected')
def option3_func():
print('Option 3 Selected')
# 创建下拉菜单
option_menu = tk.OptionMenu(root, selected_option, *options, command=lambda option: globals()[option.lower()+'_func']())
option_menu.pack()
root.mainloop()
```
在上面的代码中,我们首先创建了一个 `Tk` 实例。然后,我们定义了一个 `StringVar` 变量 `selected_option`,用于存储当前选中的选项。接着,我们设置了默认选项为 `'Option 1'`。
然后,我们定义了一个选项列表 `options`,其中包含了三个选项。接着,我们定义了三个选项对应的函数 `option1_func`、`option2_func` 和 `option3_func`。
接着,我们使用 `OptionMenu` 创建了一个下拉菜单,并使用 `command` 参数将每个选项与对应的函数绑定。在这里,我们使用了 `lambda` 表达式来调用选项对应的函数。
最后,我们使用 `mainloop` 方法来启动主事件循环,以保持窗口显示。
阅读全文