11

「さまざまなリストの項目を Tkinter のオプション メニューに入力したいのですが、どうすればよいですか?以下のコードでは、リスト全体をメニューの 1 つの項目として扱います。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()

変数をこの関数に渡したいのですが、2 行目で構文エラーが発生します。

def set_wkspc(event):
  x = var.get()
  if x = "Done":
      break
  else:
      arcpy.env.workspace = x
  print x
4

2 に答える 2

19

lstあなたのコードでは、単一の文字列を持つリストです。

複数のメニュー名を持つリストを使用し、次のように指定します。

....
lst = ["a","b","c","d","e","f"]
OptionMenu(root, var, *lst, command=print_it).pack()
....
于 2013-08-13T15:27:38.723 に答える