编程语言
首页 > 编程语言> > 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并从列表中获取可能的选项?

解决方法:

永远不需要直接应用调用,这就是为什么在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)

标签:optionmenu,python,tkinter
来源: https://codeday.me/bug/20191002/1841755.html