On Thu, 07 Apr 2005 10:06:46 +1000
"Nova Nova" <[EMAIL PROTECTED]> wrote:

>       def create_widgets(self):
>                self.a_lbl=Label(self,text="",fg="Red")
>                self.a_lbl.grid(row=0,column=0,columnspan=2,sticky=W)
>                self.inst_lbl=Label(self,text="Enter A Number Between 1 and 
> 100.",fg="blue")
>                self.inst_lbl.grid(row=1,column=0,columnspan=2,sticky=W)
>                self.pw_lbl=Label(self,text="Number: ")
>                self.pw_lbl.grid(row=2,column=0,sticky=W)
>                self.pw_ent=Entry(self)
>                self.pw_ent.grid(row=2,column=1,sticky=W)
>                self.submit_bttn=Button(self,text=str(self.g)+" Turns  
> Left",command=self.reveal,fg="red",bg="black")
>                self.submit_bttn.grid(row=3,column=0,sticky=W)
>                self.win_txt=Text(self,width=35,height=5,wrap=WORD)
>                self.win_txt.grid(row=4,column=0,columnspan=2,sticky=W)
> 
> 
>       def submit(self):
>                self.reveal
>                entry.bind('<Return>',self.submit)
> 
> this is what im doing and i get an error, IT DOES NOT WORK
> 

The problematic part is your submit() method:

    def submit(self):
        self.reveal    # you forgot the parentheses here to call your reveal() 
method
                   ^^  
        entry.bind('<Return>',self.submit)

this only binds the event handler to the Entry when the submit button was 
pressed before;
you better apply this binding in your create_widgets() method immediately after 
creating the Entry
widget. Please note that if you want to use the submit() method both as 
button-command and as
event handler for the entry, it needs an optional event instance as argument:

    def submit(self, event=None):
        (...)

because the button's "command" doesn't pass an event to the callback, but the 
entry's event handler does.

I hope this helps

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

Reply via email to