我使用pythontkinter中的Menubutton创建了一个下拉列表,但是我无法检测到按下了哪个按钮(“button-1”、“button-2”或“button-3”)
from Tkinter import *
widget = Frame()
widget.pack()
btnMenu = Menubutton(widget, text='Select action')
contentMenu = Menu(btnMenu)
btnMenu.config(menu=contentMenu)
btnMenu.pack()
btnList = ['button-1', 'button-2', 'button-3']
for btn in btnList:
contentMenu.add_command(label=btn, command=???)
mainloop()
字符串中的“command=”应该使用什么
^{pr2}$为了定义特定的按钮?谢谢您!在
你要找的是lambda。可以在命令调用中使用lambda,如下所示:
然后创建一个名为
^{pr2}$buttonClicked
的方法,该方法将接受一个参数,该参数将反映已按下的按钮。下面是一个最简单的示例:但理想情况下,如果每个按钮都有一组完全不同的执行指令,那么每个按钮都应该有自己的方法,也许您可以将列表更改为(name,method)的元组。这就是为什么要使用menubutton而不是optionmenu的原因。如果您只是简单地为它们调用相同的方法,那么您可能需要考虑切换到optionmenu。在
相关问题 更多 >
编程相关推荐