[英]How to change the values in tkinter's OptionMenu?
tkinter 中的 OptionMenu 為菜單中的選項提供任意數量的參數,如下所示:
import tkinter as tk
newMenu = tk.OptionMenu(self, clicked, "A", "B", command=doSomething)
有沒有辦法更新 OptionMenu 中的參數數量,所以我可以從上面的代碼 go 到這個新代碼:
newMenu = tk.OptionMenu(self, clicked, "A", "B", "C", "D", command=doSomething)
tk.OptionMenu
中有一個Menu
小部件。
如果要添加一些值,可以使用add_command
:
for i in ["C","D"]: newMenu['menu'].add_command(label=i)
如果要刪除某些值,請使用delete
:
newMenu['menu'].delete("0",tk.END) # this will remove all the values
@acw1668 指出了我的代碼中的一個大問題,如果您還想綁定命令並更改clicked
變量。
推薦這個( acw1668建議):
for i in ["C", "D"]:
newMenu['menu'].add_command(label=i, command=tk._setit(clicked, i, doSomething))
這也可以,但不推薦:
for i in ["C", "D"]:
newMenu['menu'].add_command(label=i, command=lambda i=i:clicked.set(i) or doSomething(i))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.