Duda sobre wxpython

Eduardo Matus ematus en gmail.com
Lun Jul 20 20:21:00 CEST 2009


tu codigo antiguo es una clase o solo funciones??
form = MyFrame_principal(None)
revisaCorreos = RevisaCorreos(form)

en el constructor de la clase revisaCorreos deberia ser algo así
def __init__(self, formulario):
        self.formulario = formulario

def timerCallBack(self):
       self.formulario.cambiaTexto("algo")


que tipo de timer estas usando??



2009/7/20 Carlos Herrera Polo <carlos.herrerapolo en gmail.com>

> Gracias Eduardo por tu pronta respuesta.
>
> Entiendo lo de la funcion que puedo incorportala dentro de la clase, eso es
> sencillo.
>
> Lo que no se aun es como hago lo segundo, es decir pasar la instancia del
> formulario...
>
> Yo declare mi ventana principal de esta forma :
>
> class MyFrame_principal ( wx.Frame ):
>
>
> y en el main() del programa la invoque asi :
>
> app = wx.PySimpleApp()
> frame=MyFrame_principal(None)
> app.MainLoop()
>
> Como tendria que hacer para instanciar la clase desde mi funcion ?
>
> Mil gracias de nuevo Eduardo por tu apoyo. Espero comprendas que recien me
> estoy iniciando en esto de Python ..
>
> Saludos
>
> El 20 de julio de 2009 12:52, Eduardo Matus <ematus en gmail.com> escribió:
>
> > crea una funcion en la clase donde esta el statictext para cambiar el
> texto
> > def cambiaTexto(self, texto):
> >       self.staticText5.SetLabel(unicode(texto))
> >
> > en tu codigo original le podrias pasar la instancia del formulario y asi
> > llamar a la funcion...
> > esto es si no quieres hacer muchas modificaciones a tu codigo original.
> >
> > 2009/7/20 Carlos Herrera Polo <carlos.herrerapolo en gmail.com>
> >
> > > Estimados:
> > >
> > > Hace unos meses desarrolle un pequeño proceso en python el cual
> procesaba
> > > correos electronicos con IMAP cada cierto lapso de tiempo y respondia
> al
> > > remitente con unos archivos adjuntos, deje el programa listo y al ser
> un
> > > proceso no necesitaba una GUI. El codigo principalmente estaba
> > estructurado
> > > con funciones de python.
> > >
> > > Como me interese en wxPython decidi hacerlo un poco mas "vistoso" y
> > comence
> > > a desarrollar mi version GUI ..
> > > Entonces, planeo utilizar el codigo que elabore anteriormente ya que me
> > > funciona bien... Lo que quiero hacer es que ahora los mensajes de
> alerta
> > > figuren dentro de etiquetas de la ventana.
> > >
> > > Mi gran duda es :
> > >
> > > Dentro de la clase de la ventana principal tengo los "static text", eso
> > ya
> > > funciona.. proceso con el evento timer la lectura del buzon IMAP y
> > funciona
> > > bien..
> > >
> > > Mi problema es que para reutilizar mi codigo anterior, tengo que hacer
> > que
> > > desde las funciones cambiar lo que hacia con PRINT y cambiarlo por
> > > SetLabel,
> > > por ejemplo :
> > >
> > >            # print 'Procesando adjuntos...' (Asi era antes)
> > >
> > >            MyFrame_principal.m_staticText5.SetLabel('Procesando
> > > adjuntos...')  (Asi lo quiero dejar)
> > >
> > > Mi problema esta en que no se como hacer referencia dentro de una
> funcion
> > > al
> > > statictext, ya que la funcion no esta dentro de ninguna clase, he leido
> > los
> > > manuales y no encuentro como hacer esa referencia, he visto que se
> puede
> > > invocar atributos de controles desde distintas ventanas, pero no he
> > > encontrado como hacer que desde una funcion se cambie el atributo,
> > >
> > > Si alguien me puede orientar en este tema les estare muy agradecidos.
> > >
> > > Saludos
> > > _______________________________________________
> > > Lista de correo Python-es
> > > http://listas.aditel.org/listinfo/python-es
> > > FAQ: http://listas.aditel.org/faqpyes
> > >
> > _______________________________________________
> > Lista de correo Python-es
> > http://listas.aditel.org/listinfo/python-es
> > FAQ: http://listas.aditel.org/faqpyes
> >
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es