Brainerd HeadFat wrote:
Hi,

 I'm having trouble trying to figure out how to create multiple
 objects that contain duplicate entries that can be uniquely identified
 within a Tkinter GUI.

 I want a user to define an item and then
 define multiple characteristics about that item,
 save a dictionary of items,
 and then reload the items back into the GUI upon restart.

 The code I'm have trouble with looks something like this.


def newitem(): itemframe = Frame(parent) entry1 = Entryfield(itemframe) entry2 = Entryfield(itemframe) button1 = Button(itemframe, command = update())

def update():
   a = entry1.getvalue()
   b = entry2.getvalue()
   values = [a,b]
   print values

The problem I'm having is that as soon as the user runs newitem()
the previous itemframe loses its name and i can only access the most recently
created itemframe.

It sounds like maybe you should keep a list of the itemframes and their contents. One way to do this would be to have a list
itemframes = []


then in newitem() save the parts you care about like this:
  itemdetails = (itemframe, entry1, entry2)
  itemframes.append(itemdetails)

Then when you want to access all the itemframes use a loop like this:
  for itemframe, entry1, entry2 in itemframes:
    # do something with itemframe, entry1, entry2

Kent


I feel like the most convenient way to accomplish this would be something like


   x = Frame() in parent
   itemframe'x' = itemframe


Where 'x' is a unique integer. But I don't know how to create unique variables on the fly.


I'm sure there are a thousand ways to accomplish what I'm trying to,
and it seems like a trivial thing that gets dealt with all the time,
and I'm embarrased that I have to ask.
I'm pretty new to programming and this is my first attempt at a GUI or a really useful program. Thanks for your help.



_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor


_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor

Reply via email to