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

Python 如何更改选项菜单中选项的标签?,python,drop-down-menu,tkinter,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”?重要的是,选项菜单

我有一个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”
?重要的是,选项菜单中的每个选项都提供从选项列表中选择的整数值。

如果我完全理解您的要求,那么
是的,我认为这里可以使用字典,但正如你所说的,你希望
选项的内容不受干扰,那么你会发现这很有用

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()
索引非常混乱,但可能正是您想要的方式

此外,您还可以使用非常明显的琐碎循环创建任意长度的字典(与
选项的长度相同):)

我不确定您在这里要做什么。如果您只是想让它显示类似于
Title 1
的内容,而不是数字,只需进行更改即可。然后,当用户选择python时,您可以让它做任何您想做的事情。不管标题是什么…基本上这正是我所寻找的方式。它使选项菜单看起来像我想要的。但问题是var2set.get()提供字典中的字符串值,而不是相关的整数。有解决方法吗?我已经编辑了答案可能这是你需要的谢谢,这很有用!