我正在尝试访问选项菜单小部件中相同值的索引。在下面的代码中,无论我选择两个“b”字符中的哪一个,列表中的字符“b”都会返回索引 1。我需要根据列表中的索引位置区分两个“b”字符,即从选项菜单小部件中选择第一个“b”应返回索引 1,而第二个“b”应返回索引 2。请告诉我该怎么做。提前致谢。
from Tkinter import *
class GUI(Frame):
def __init__(self):
Frame.__init__(self)
self.master.title("New window")
self.master.geometry("300x200")
self.grid()
self.list1 = ["a", "b", "b"]
self.var = StringVar()
self.var.set("")
self.entry = Entry(self, textvariable=self.var)
self.entry.grid(row=0, column=0)
self.optionMenu = OptionMenu(self, self.var, *self.list1)
self.optionMenu.grid(row=0, column=1)
self.button = Button(self, text="Print", command=self.print_fun)
self.button.grid(row=0, column=2)
def print_fun(self):
print self.optionMenu["menu"].index(self.var.get())
obj = GUI()
obj.mainloop()
这不是选项菜单设计的工作方式。您必须创建一个自定义选项菜单。选项菜单没有什么特别的,它只是一个按钮和一个菜单,以及几个赋予它所具有的行为的函数。
从可用性的角度来看,这是一个非常糟糕的设计,因为用户无法知道第一个“b”选择和第二个“b”选择之间的区别。我希望一个选择不会映射到“停用炸弹”,另一个选择是“引爆炸弹”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)