如何更改tkinter选项菜单中的值?

2024-09-28 21:58:06 发布

您现在位置:Python中文网/ 问答频道 /正文

tkinter中的OptionMenu为菜单中的选项选择任意数量的参数,如下所示:

import tkinter as tk
newMenu = tk.OptionMenu(self, clicked, "A", "B", command=doSomething)

有没有办法更新OptionMenu中参数网的数量,这样我就可以从上面的代码转换成这个新代码:

newMenu = tk.OptionMenu(self, clicked, "A", "B", "C", "D", command=doSomething)

Tags: 代码importself参数数量tkinteras选项
1条回答
网友
1楼 · 发布于 2024-09-28 21:58:06

tk.OptionMenu中有一个Menu小部件

如果要添加一些值,可以使用^{}:

for i in ["C","D"]:
    newMenu['menu'].add_command(label=i)

如果要删除某些值,请使用^{}

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))

相关问题 更多 >