How to query object of GUI?
Scott David Daniels
Scott.Daniels at Acm.Org
Wed Apr 15 13:43:09 EDT 2009
John McMonagle wrote:
> Muddy Coder wrote:
>> I need to query the ID of GUI, in Tkinter, but don't know how to do
>> it. This is my code: ...
>
> Pass the name of the label as an argument to the callback. Below is a
> short working example:
> ...
> lab = 'test'
> menubar.add_command(label=lab, command=lambda l=lab: do_menu(l))
> lab = 'quit'
> menubar.add_command(label=lab, command=lambda l=lab: do_menu(l))
> ...
Another way to do the same thing (a way to "avoid" lambda):
from functools import partial
...
class MyGUI(object):
...
def make_menu(self):
top = Menu(self)
menObj = Menu(top)
for n, lab in enumerate(read_from_database()):
menObj.add_command(label=lab,
command=partial(self.do_menu, n, lab))
def do_menu(self, sequence, label):
# here you know it was the (sequence+1)th entry named label
...
--Scott David Daniels
Scott.Daniels at Acm.Org
More information about the Python-list
mailing list