> On Thu, 26 May 2005 14:33:45 +0200, VK <"myname"@example.invalid> > declaimed the following in comp.lang.python: > > >>Hi, all! >> >>In my programm i have to insert a variable from class 2 to class 1 and I >>get error NameError: global name 'd' is not defined. How do I get access >>to d.entry.insert() method of class 1 >> >>class 1: > > <shudder> Does Python even allow numeric class names?
:-D don't know > > REAL code, stripped to the minimum that duplicates your problem, > is always better than pseudo-code... I thought that is it... > > >> self.entry = Entry(self.entryframe) >> self.entry.pack() >> >> self.button = Button(command = self.callclass2window) >> >> def callclass2window >> c = 2() >> >> >>class 2: >> def ins(self) > > NO : ??? > > >> d.entry.insert(variable) >> >> >>d = 1() > > > What, might I ask, does .insert() /do/ for an Entry() object? That insert text into entry object. > > As far as I can tell, "class 1" is creating some GUI button. > Pressing that button invokes your callclass2window(), which creates a > new "class 2" instance, and then throws it away. Yes, exactly > > Give us code that we can /run/ and we might be able to give you > an answer... I try: from Tkinter import * class First: def __init__(self): self.root = Tk() # create window contents as children to root.. self.entryframe = Frame(self.root) self.entryframe.pack(fill=BOTH,expand=1) self.entry = Entry(self.entryframe) self.entry.pack(side=TOP,expand=1,fill=BOTH) self.entry.focus() self.entry.bind('<Return>',(lambda event: self.fetch())) # on enter key self.button = Button(self.entryframe,text="Call",command=self.getvar) self.button.pack(side=LEFT,expand=YES,fill=BOTH) self.root.mainloop() def fetch(self): print 'Input => "%s"' % self.entry.get() # get text form entry def getvar(self,event=0): c=Second(self,self.root) class Second: def __init__(self,parent,s="thing"): self.root = Tk() self.ent = Entry(self.root) self.ent.pack() self.btn = Button(self.root,text='Fetch',command=self.fetch) self.btn.pack(side=RIGHT) def fetch(self): text = self.ent.get() # get text form entry in this window d.entry.insert(0, text)# must insert in other window d = First() #First window -- http://mail.python.org/mailman/listinfo/python-list