如何使用列表中的项填充Tkinter optionMenu

kfl*_*law 7 python tkinter list optionmenu

"我想在Tkinter中使用各种列表中的项目填充选项菜单,我该怎么做?在下面的代码中,它将整个列表视为菜单中的一个项目.我尝试使用for语句循环遍历列表但是它只给了我几次'a'的价值.

from Tkinter import *

def print_it(event):
  print var.get()

root = Tk()
var = StringVar()
var.set("a")
lst = ["a,b,c,d,e,f"]
OptionMenu(root, var, lst, command=print_it).pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

我想现在将变量传递给此函数,但我得到第二行的语法错误:

def set_wkspc(event):
  x = var.get()
  if x = "Done":
      break
  else:
      arcpy.env.workspace = x
  print x
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 15

lst 在您的代码中是一个包含单个字符串的列表.

使用包含多个菜单名称的列表,并将其指定如下:

....
lst = ["a","b","c","d","e","f"]
OptionMenu(root, var, *lst, command=print_it).pack()
....
Run Code Online (Sandbox Code Playgroud)