2017-12-11 6 views
0

現在、私は3つのパラメータ1,2,3を持つtkinterを使って、ドロップダウンメニューの基本テンプレートを作っています。tkinterのOptionMenuにパラメータを設定する方法は?

from tkinter import * 

master = Tk() 

variable = StringVar() 
variable.set("one") # default value 

w = OptionMenu(master, variable, "one", "two", "three") 
w.pack() 

mainloop() 

enter image description here

より明確にするために上の画像を見ます。

ここでは、30個のキーと値のペアを持つ辞書を用意して、OptionMenuのオプションとしてどのように設定することができますか? 辞書:

"Belgium (Dutch)": "nl_be", 
       "Hungary": "hu_hu", 
       "Chile": "es_cl", 
       "Belgium (French)": "fr_be", 
       "Mexico": "es_mx", 
       "Hong Kong": "hk", 
       "Turkey": "tr_tr", 
       "Ireland": "en_ie", 
       "Ghana": "en_gh", 
       "Argentina": "es_ar", 
       "Slovakia": "sk_sk", 

私はオプションメニューのオプションとして、辞書のキーが欲しいです。 OptionMenu()に辞書の各キーを渡すのではなく、スマートな手法です。

答えて

3

あなたは

data = { 
"Belgium (Dutch)": "nl_be", 
"Hungary": "hu_hu", 
"Chile": "es_cl", 
"Belgium (French)": "fr_be", 
"Mexico": "es_mx", 
"Hong Kong": "hk", 
"Turkey": "tr_tr", 
"Ireland": "en_ie", 
"Ghana": "en_gh", 
"Argentina": "es_ar", 
"Slovakia": "sk_sk", 
} 

from tkinter import * 

master = Tk() 

variable = StringVar() 
variable.set("one") # default value 

w = OptionMenu(master, variable, *data.keys()) 
w.pack() 

mainloop() 
+0

おかげで魔法のように動作

OptionMenu(master, variable, *data.keys()) 

全多くの引数にリストを展開する*を使用することができます:) –

関連する問題