[pygtk] guardar objetos en los widget
Beni
camontuyu en yahoo.es
Mie Jul 2 17:48:09 CEST 2008
2008/7/2 Rafael Villar Burke <pachi en rvburke.com>:
> Beni wrote:
> > Algo de eso suponía,... pero pensaba que gtk tendría algún método para
> > guardar información del usuario.
> >
> Lo tiene. Los controles y otros objetos de pygtk son del tipo gobject,
> con lo que puedes usar los métodos set_data y get_data para lo que quieres:
>
> http://www.pygtk.org/docs/pygobject/class-gobject.html#method-gobject--set-data
> > Ya se que estamos con un lenguaje dinámico, pero no me parece una buena
> > forma modificar las objetos en tiempo de ejecución, a no ser que sea
> > necesario, claro.
> >
> ¿Por qué no te parece una buena idea?. ¿Cómo piensas aportar los datos
> si no vas a entregarlos en el momento de la ejecución teniendo en cuenta
> que python no es un lenguaje compilado?.
>
> Saludos,
>
> Rafael Villar Burke
>
No me parece una buena idea porque hace el código un poco ilegible y dificil
de mantener.
Imagina que tiene una clase persona con sus propiedades.
class Persona:
def __init__(self):
self.nombre = ""
self.apellidos = ""
Si ahora quiero indicar que una persona puede llevar una serie de cosas.
Podría hacer:
p = Persona()
p.libro = Libro()
p.boli = Boligrafo()
y funcionaria correctamente, pero no me gusta, ya que en mi definición de mi
clase persona no dige que podía llevar un libro y un boli.
Lo suyo sería añadir más funcionalidad a nuestra clase como:
persona.get_mochila().add_objeto(libro)
De forma similar, como me has indicando, en gtk:
objeto.set_data*()*
No se... me gusta más.
Un saludo.
--
Benito Rodríguez Arcos
------------ próxima parte ------------
_______________________________________________
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