【发布时间】:2015-03-05 18:01:57
【问题描述】:
我正在尝试访问选项菜单小部件中相同值的索引。在以下代码中,无论我选择两个“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()
【问题讨论】:
-
与 anwser 一样,list1 中的值不能相同。你需要让它们独一无二。
标签: indexing tkinter optionmenu