J Wolfe wrote: > I would like to pass the label name of a menu to the command it is > calling, is that possible? > > self.menuitem.menu.add_command(label="pass this",command = lambda i = > self.self.menuitem.menu.cget("label"): self.function(i)) > > def function(self, i) > print i # print the label name
A simple pure-python approach: def add_command_with_label(menu, label, command): menu.add_command(label=label, command=lambda: command(label)) # ... function = self.function menu = self.menuitem.menu add_command_with_label(menu, "pass this", function) Alternatively, if you plan to change the labels during runtime: index = 1 # indices start at 1, not 0 menu.add_command(label="whatever", command=lambda index=index, menu=menu: function(menu.entrycget(index, "label"))) (all untested, likely to contain typos) Peter -- http://mail.python.org/mailman/listinfo/python-list