我想从 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/