首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Tkinter OptionMenu添加命令?

向Tkinter OptionMenu添加命令?
EN

Stack Overflow用户
提问于 2014-11-04 20:25:08
回答 1查看 29.5K关注 0票数 2

我正在用Python2.7.8编写一些代码,其中包括OptionMenu小部件。我想要创建一个OptionMenu,当选项被更改时调用一个函数,但我也希望在列表中找到可能的选项,因为我的最后一个OptionMenu将有很多选项。

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

代码语言:javascript
复制
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,并在列表中找到了选项:

代码语言:javascript
复制
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从列表中获取可能的选项?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-04 22:15:55

从来不需要直接应用调用,这就是为什么is在2.7中被推荐,而在3.0中消失。相反,请使用*seq语法。把你做的两件事结合起来。下面这些似乎是你想做的事。

代码语言:javascript
复制
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)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26744366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档