python - 向 Tkinter OptionMenu 添加命令?

标签 python tkinter optionmenu

我正在用 Python 2.7.8 编写一些代码,其中包括 OptionMenu 小部件。我想创建一个 OptionMenu 来在选项更改时调用一个函数,但我也希望在列表中找到可能的选项,因为我的最终 OptionMenu 将具有许多选项。

我使用以下代码创建了一个调用函数的 OptionMenu:

from Tkinter import*

def func(value):
    print(value)

root = Tk()

var = StringVar()
DropDownMenu=OptionMenu(root, var, "1", "2", "3", command=func)
DropDownMenu.place(x=10, y=10)

root.mainloop()

我还发现以下代码创建了一个 OptionMenu,其中包含列表中的选项:

from Tkinter import*

root = Tk()

Options=["1", "2", "3"]
var = StringVar()
DropDownMenu=apply(OptionMenu, (root, var) + tuple(Options))
DropDownMenu.place(x=10, y=10)

root.mainloop()

我如何创建一个OptionMenu,它在选项更改时调用函数从列表中获取可能的选项?

最佳答案

从来不需要直接应用调用,这就是为什么 is 在 2.7 中被弃用并在 3.0 中消失的原因。而是使用 *seq 语法。只需将您所做的两件事结合起来。以下似乎可以满足您的要求。

from tkinter import *

def func(value):
    print(value)

root = Tk()
options = ["1", "2", "3"]
var = StringVar()
drop = OptionMenu(root, var, *options, command=func)
drop.place(x=10, y=10)

关于python - 向 Tkinter OptionMenu 添加命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26744366/

相关文章:

python - 使用 openpyxl 的数据验证不写入文件 - 包含代码

python - Flask @login_required 不适用于 IE 和 Safari

python tkinter选项菜单帮助-对象没有属性 '_root'

python - 如何显式定义 subqueryload_all 中使用的查询?

拆卸主窗口时 Python 崩溃

python - 创建 Python 按钮保存编辑的文件

python - 当tkinter中的输入框超过窗口高度时,如何添加滚动条?

android - 如何在没有菜单按钮的情况下使用选项菜单?

选项菜单中的 Android startActivity 导致应用程序崩溃

python - 运行后台进程,然后在进行一些中间处理后将其终止