编程语言
首页 > 编程语言> > python – Tkinter OptionMenu DisplayOptions和赋值

python – Tkinter OptionMenu DisplayOptions和赋值

作者:互联网

Python的Tkinter OptionMenu中,是否可以有一个显示选项列表,但在选择时,它将值设置为其他值?

假设我有

variable = tk.IntVar(master)
OptionMenu(master, variable, 1, 2).pack()
options = {1:"one",2:"two"}

并希望显示值,但将键指定给变量.这甚至可能吗?或者有没有办法链接OptionMenu来调用选择的函数来转换它?

我的真正问题比示例更复杂,所以问题只是评估复杂的字符串,我想避免使用StringVar.

谢谢

解决方法:

你已经拥有它了.使用字典将显示的选项映射到所需的实际值.

例如:

import Tkinter as tk
master = tk.Tk()
variable = tk.StringVar(master)
options = {"one": 1, "two": 2}
tk.OptionMenu(master, variable, *options.keys()).pack()
...
wanted = options[variable.get()]

请注意0​​7000,用于将密钥解压缩为逗号分隔的OptionMenu参数列表.稍后当你想要选项的“值”时,使用variable.get()作为字典中的“键”.

标签:optionmenu,python,tkinter
来源: https://codeday.me/bug/20190824/1712369.html