我想从tkinter中的OptionMenu小部件中获取所有选项的列表,如下所示:
import tkinter
root = tkinter.Tk()
var = tkinter.StringVar(root)
var.set('OptionMenu')
optionMenu = tkinter.OptionMenu(root, var, 'foo1', 'foo2')
optionMenu.pack()
listOfAllOptions = optionMenu.getOptions()
# listOfAllOptions == ['foo1', 'foo2']
root.mainloop()
是否有实现这一目标的功能? 如果不是什么是解决方法?
答案 0 :(得分:5)
您可以获得与optionmenu相关联的菜单(例如:optionMenu["menu"]
),然后您可以使用菜单方法来获取项目。它需要几行代码。但老实说,最简单的方法是将值放在附加到窗口小部件的列表中(例如:optionMenu.items = the_list_of_values
)
如果你想从实际的小部件中提取数据,你可以这样做:
menu = optionMenu["menu"]
last = menu.index("end")
items = []
for index in range(last+1):
items.append(menu.entrycget(index, "label"))
print "items:", items