首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按索引设置OptionMenu

按索引设置OptionMenu
EN

Stack Overflow用户
提问于 2013-08-28 14:56:22
回答 1查看 5.3K关注 0票数 0

我试图通过选项的索引来设置OptionMenu中的值,而不是使用实际的选项值本身。

例如,如果我的OptionMenu有“1”、“2”、“3”选项,我希望能够通过编写My_Option_Menu.set(options[0])而不是My_Option_Menu.set("one")将其设置为“1”

OptionMenu由一个列表动态填充,这取决于其他两个OptionMenus设置的内容,这就是为什么我希望按索引而不是实际值引用选项。OptionMenu对象是否有方法返回当前填充的选项列表,以便上面的options[0]方法能够工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-28 15:54:32

最简单的方法是保留用于定义选项菜单的列表的副本。然后,可以使用索引从列表中获取值,并将其赋值给关联的变量。

例如:

代码语言:javascript
复制
options = ["one","two","three"]
...
self.menuVar = tk.StringVar(master)
self.optionMenu = tk.OptionMenu(master, self.menuVar, *options)
...
self.menuVar.set(options[0])

另一个选项是获取与小部件关联的菜单对象,并使用菜单命令获取给定索引处的文本,并使用该命令设置变量:

代码语言:javascript
复制
value = self.optionMenu["menu"].entrycget(0, "label")
self.menuVar.set(value)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18491428

复制
相关文章

相似问题

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