簡體   English   中英

如何更改 tkinter 的 OptionMenu 中的值?

[英]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.

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