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()]
请注意07000,用于将密钥解压缩为逗号分隔的OptionMenu参数列表.稍后当你想要选项的“值”时,使用variable.get()作为字典中的“键”.
标签:optionmenu,python,tkinter 来源: https://codeday.me/bug/20190824/1712369.html