我试图用 Tkinter 做选项菜单列表。想法是菜单是根据长度可以变化的数据创建的,所以我需要做选项菜单的动态列表。我有一些关于情况的简单示例,而不是我正在使用的最终代码。问题是我没有成功创建 StringVars 数组,以便我可以为每一行设置单独的值。在示例中,变量对于所有行都是通用的,因为我无法执行这样的版本,其中 StringVars 列表没有产生错误。
这是示例:
from Tkinter import *
list1 = ['001 aaa', '002 bbb', '003 ccc']
status = ["On", "Off", "Unknown"]
testset1 = []
master = Tk()
variable = StringVar(master)
r = 0
for x in list1:
x = x.split(" ", 2)
Label(text=x[0], relief=RIDGE, anchor=W).grid(row=r, column=0, sticky=W+E)
Label(text=x[1], relief=RIDGE, anchor=W).grid(row=r, column=1, sticky=W+E)
apply(OptionMenu, (master, variable) + tuple(status)).grid(row=r, column=2, sticky=W+E)
r += 1
mainloop()