我有一个包含多个项目的菜单,菜单上的每个项目都使用相同的 GUI 来实现功能。每个所需的功能或菜单项只是在后台发生不同的事情。我知道可以制作我的 GUI 代码的多个副本,将其分配给单独的 def,然后为菜单项提供特定的命令行。
但是有没有一种更简单的方法可以让我在给定的 def 中一次指定我的 gui 代码,并让 Tkinter/python 运行该 def 来识别选择了哪个选项?
例如:
filemenu.add_command(label="Item-a", command=gui)
filemenu.add_command(label="Item-b", command=gui)
filemenu.add_command(label="Item-c", command=gui)
哪个可以启动def gui,在绘制界面之前可以告诉项目a、b或c被选择?
希望这是有道理的。
有什么想法吗?
谢谢
最佳答案
如果我正确理解你的问题,你可以这样做:
def gui(item):
if item == 'a':
pass # do something with a
elif item == 'b':
pass # do something with b
现在在您的文件菜单中:
filemenu.add_command(label='Item-a', command=lambda : gui('a'))
filemenu.add_command(label='Item-b', command=lambda : gui('b'))
等等。
关于Python tkinter 菜单+变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565630/