2017-01-30 85 views
0

說我創建和OptionMenu:如何僅在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"]] 

我如何能夠只顯示OptionMenu中的每個子列表的第一個索引,同時仍然通過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()