如何更改选项菜单中选项的标签?

时间:2013-11-15 14:18:33

标签: python drop-down-menu tkinter

我有一个像这样的Tkinter选项菜单:

import Tkinter as tk

choices = [1,2,3]

GUI = tk.Tk()
var2set = tk.IntVar(GUI)
tk.OptionMenu(GUI, var2set, *choices).grid(column=0, row=0)
GUI.mainloop()

是否可以将选项[1,2,3]的标签更改为"title 1", "title 2", "title 3" 字符串 对变量choices进行修改?重要的是,选项菜单中的每个选项都会从选项列表中提供所选的整数值。

1 个答案:

答案 0 :(得分:0)

如果我完全明白你的要求那么 是的,我认为词典可以在这里使用,但正如你所说,你希望choices的内容不被打扰,那么你会发现这很有用..

import Tkinter as tk

def select():
    title=var.get()
    print "selected string :"+title
    print "corresponing integer value :"+str(choices[Dic[title]])


choices = [1,2,3]
Dic={'title 1':0,'title 2':1,'title 3':2}
GUI = tk.Tk()
var = tk.StringVar(GUI)
var.set('title 1')
op=tk.OptionMenu(GUI, var, *Dic.keys())
op.pack(side='left',padx=20,pady=10)
bt=tk.Button(GUI,text='check value',command=select)
bt.pack(side='left',padx=20,pady=10)
GUI.mainloop()

索引非常混乱,但可能正是你想要的方式 你也可以使用琐碎的循环来制作任何长度的字典(与choices相同):)