簡體   English   中英

Tkinter OptionMenu DisplayOptions和賦值

[英]Tkinter OptionMenu DisplayOptions and Assignment Values

在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()]

請注意splat運算符* ,用於將鍵解壓縮為OptionMenu的逗號分隔參數列表。 稍后當你想要選項的“值”時,使用variable.get()作為字典中的“鍵”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM