1

我有一个包含多个项目的菜单,菜单上的每个项目都使用相同的 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被选中了?

希望这是有道理的。

有什么想法吗?

谢谢

4

1 回答 1

2

如果我正确理解您的问题,您可以执行以下操作:

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

等等。

于 2012-07-19T17:15:34.743 回答