我想从 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()

有没有实现这一目标的功能?
如果不是,解决方法是什么?

最佳答案

您可以获得与 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

关于python - 从 OptionMenu 获取所有选项的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35893112/

10-12 16:55