Kent Johnson wrote:
> VK wrote:
> 
>>> 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
> 
> 
>>
>> 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
> 
> 
> The problem is that First.__init__() never returns so the instance of 
> First is never bound to d. Take the line
>   self.root.mainloop()
> out of First.__init__() and and the line
> d.root.mainloop()
> 
> at the end of the program and it will work as you expect.
> 
> Kent

O, God! It works! Thousend of thanks!

By the way, the second window appears not activ, is there an option to 
make it activ on start?

Reg,VK
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to