tkinter做下拉菜单并将每个事件定义一个函数
时间: 2023-07-31 16:09:30 浏览: 327
好的,下面是一个简单的例子,实现了一个下拉菜单,每个选项对应一个函数:
```python
import tkinter as tk
def func1():
print("选项一被选中")
def func2():
print("选项二被选中")
def func3():
print("选项三被选中")
root = tk.Tk()
# 创建菜单
menu = tk.Menu(root)
# 创建下拉菜单
submenu = tk.Menu(menu, tearoff=0)
submenu.add_command(label="选项一", command=func1)
submenu.add_command(label="选项二", command=func2)
submenu.add_command(label="选项三", command=func3)
# 添加下拉菜单到菜单栏
menu.add_cascade(label="下拉菜单", menu=submenu)
# 显示菜单栏
root.config(menu=menu)
root.mainloop()
```
运行代码,可以看到一个窗口,其中有一个名为“下拉菜单”的菜单,点击后会显示三个选项。当选中一个选项时,对应的函数会被调用,并输出相应的信息。
相关问题
tkinter设置下拉菜单,每个选项都绑定一个函数,代码怎么写
你可以使用 `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` 方法来启动主事件循环,以保持窗口显示。
用python tkinter做下拉菜单
在Python中,Tkinter是一个常用的图形用户界面库,可以用来创建GUI应用程序,包括下拉菜单。下拉菜单(也称为组合框或Combobox)可以让用户从预设选项列表中选择一项。
以下是使用Tkinter创建简单下拉菜单的基本步骤:
1. 导入所需模块:
```python
from tkinter import Tk, StringVar, OptionMenu
```
2. 创建主窗口(root):
```python
root = Tk()
root.title("下拉菜单示例")
```
3. 定义下拉菜单的数据(选项列表):
```python
options = ["Option 1", "Option 2", "Option 3"]
variable = StringVar(root) # 使用StringVar管理选中的值
variable.set(options[0]) # 设置初始值
```
4. 创建并放置下拉菜单:
```python
dropdown_menu = OptionMenu(root, variable, *options)
dropdown_menu.pack() # 将菜单添加到窗口上
```
5. 绑定事件处理程序(可选),例如当用户选择新的项时,执行某些操作:
```python
def on_selection_change():
print(f"选择了: {variable.get()}")
dropdown_menu.config(command=on_selection_change)
```
6. 运行主循环:
```python
root.mainloop()
```
完整的例子:
```python
import tkinter as tk
# 创建窗口和变量
root = tk.Tk()
options = ["Option 1", "Option 2", "Option 3"]
variable = tk.StringVar(value=options[0])
# 下拉菜单
dropdown_menu = tk.OptionMenu(root, variable, *options)
# 事件绑定
def on_selection_change():
print(f"选择了: {variable.get()}")
dropdown_menu.config(command=on_selection_change)
# 显示菜单
dropdown_menu.pack()
# 主循环
root.mainloop()
阅读全文