2017-01-30 14 views
0

は、私が作成し、オプションメニュー言う:OptionMenu Tkinter pythonでのプレビューのみを表示するには?

menu1 = OptionMenu(root, var, *list1, command = func).pack() 

関数func()で選択を返す:

def func(value): 
    return value 

リストリスト1がフォーマットされている場合:

list1 = [["one", "two", "three"], ["four", "five", "six"]] 

どのように私はドロップオプションメニューの各サブリストの最初のインデックスを表示するだけで、func()メソッドを使って選択するとサブリスト全体が返されますか?

+0

func' 'から値を返すことはので、無意味です関数を呼び出すコード(イベントループ)は戻り値を無視します。 –

+0

@BryanOakleyあなたは何をお勧めしますか? –

答えて

0

選択した値を取得する場合は、var.get()を使用してください。そして、あなたはリストが、ちょうど最初の値を表示しない場合、あなたは右のリストで、各メニューの選択肢を関連付けるためにdictionnaryを使用することができます。

import tkinter as tk 

root = tk.Tk() 

dic = {"one": ["one", "two", "three"], "four": ["four", "five", "six"]} 

var=tk.StringVar(root) 

def func(arg): 
    print(dic[arg]) 

menu1 = tk.OptionMenu(root, var, *dic.keys(), command=func).pack() 

root.mainloop() 
関連する問題