我有一个for:
循环,并将每个邮箱我的邮件服务器创建一个Tkinter的菜单级联,都指向同一个命令,下面的代码:有什么办法可以获得tkinter菜单按钮的信息吗?
menubar = Menu (rootA)
foldermenu = Menu(menubar, tearoff=0)
for i in range(len(mailboxes)):
foldermenu.add_command(label=mailboxes[i], command=switchBox)
但我需要一种方法来准确确定哪个按钮是在我的代码中单击,那么是否有任何方法可以返回刚刚创建的菜单选择的“标签”或返回索引或其他方式?例如,tkinter列表框具有功能.curselection()
无关,但您可以使用'command = switchBox',而不使用'lambda'和'()' –
哦,谢谢!我之前正在通过一些变量,试图让它起作用,并且必须忘记删除它。 – Imm
或者您可以将'i'传递给lambda;在这种情况下,记住lambda中的变量在调用函数时计算,而不是在定义时计算(参见例如[here](http://stackoverflow.com/q/19837486/1639625)),即使用某些像'command = lambda x = i:switchBox(x)' –