pygtk: Sobre los treeviews

Mario Jiménez Carrasco mario.carrasco en gmail.com
Lun Feb 12 15:43:00 CET 2007


Voy a checar tu metodo, realmente es algo asi lo que necesito...
comentare mas tarde...

On 2/12/07, Milton Galo Patricio <minoztro en gmail.com> wrote:
>
> Hola Mario:
>
> > Tal vez no me explique muy bien, y voy a tratar de hacerlo sin
> extenderme
> > mucho...
> > He diseñado una interfaz desde el glade, por un lado he insertado un
> > componente treeview para mostrar la lista de catalogos o tablas, y por
> el
> > otro lado he insertado otro donde mostrare los registros que hay por
> cada
> > tabla.
>
> ok..hasta ahí entiendo lo que haces...yo también trabajo con un
> diseñador de interfaces.
>
> >
> > pero cada tabla tiene campos diferentes, y yo quiero que en el mismo
> > treeview se puedan mostrar dichos campos y hacer el treeview
> completamente
> > dinamico.
>
> Claro aca a lo que te refieres es al treeview y no al modelo que sería
> el gtk.ListStore o gtk.TreeStore
>
>
> >
> > ya entendi que con el codigo que se muestra en el hilo se logra poner
> los
> > campos, mi duda es, si aun que yo haya diseñado la interfaz en glade
> puedo
> > usar el codigo de ejemplo, aun asi, lo probare y les dire que resultado
> > obtuve
>
> bueno habría que leerlo con más detención, pero en realidad ese código
> no te sirve para hacer lo que quieres, ya que en ese código las
> columnas son estáticas....claro en el modelo no tienes
> problemas...pero que pasa si la nueva tabla tiene una columna
> más..como modificamos la estructura de nuestro treeview..bueno a
> simple vista puedes ver las funciones de:
>
> remove_column [0] y append_column [1]
>
> [0]
> http://www.pygtk.org/docs/pygtk/class-gtktreeview.html#method-gtktreeview--remove-column
>
> [1]
> http://www.pygtk.org/docs/pygtk/class-gtktreeview.html#method-gtktreeview--append-column
>
> entonces quizás cada vez que cambies de tabla {como dices tu lado
> izquierdo}, debas construir nuevamente la estructura de tu treeview.
>
> algunos método que siempre utilizo para ordenarme un poquito, son:
>
>         def fgn_llenar_modelo_guia_despacho(self, vpo_resultado):
>                 self.vpo_modelo_guia_despacho.clear()
>
>                 for i in vpo_resultado:
>
>                         self.vpo_modelo_guia_despacho.append
> ([i[0],i[2],i[3],[4]])
>
>                 return
>
>         def fgn_define_vista_guia_despacho(self):
>
>                 lbl = unicode('Número')
>
>                 column = gtk.TreeViewColumn(lbl.encode('utf-8'),
> gtk.CellRendererText(), text=0)
>
>                 self.treeviewGuiaDespacho.append_column(column)
>                 lbl = unicode('Rut cliente')
>
>                 column = gtk.TreeViewColumn(lbl.encode('utf-8'),
> gtk.CellRendererText(), text=1)
>
>                 self.treeviewGuiaDespacho.append_column(column)
>                 lbl = unicode('Fecha emisión')
>
>                 column = gtk.TreeViewColumn(lbl.encode('utf-8'),
> gtk.CellRendererText(), text=2)
>
>                 self.treeviewGuiaDespacho.append_column(column)
>                 lbl = unicode('Precio total')
>
>                 column = gtk.TreeViewColumn(lbl.encode('utf-8'),
> gtk.CellRendererText(), text=3)
>
>                 self.treeviewGuiaDespacho.append_column(column)
>
>         def fgn_crea_modelo_guia_despacho(self):
>
>                 self.vpo_modelo_guia_despacho = gtk.ListStore(str, str,
> str, str)
>
>                 self.treeviewGuiaDespacho.set_model(
> self.vpo_modelo_guia_despacho)
>
>
>
> claro está que primero llamo a crea_modelo_guia_despacho, luego a
> define_vista_guia_despacho y luego llenar_modelo_guia_despacho...lo
> que se me ocurre es hacer dinámico el método de
> define_vista_guia_despacho {no lo sé, guardando la definición o nombre
> de cada columna en una lista o quizás en un diccionario}.
>
> Espero que te sirva la ayuda...si estoy pelando el cable disculpame ya
> son las 05:03 am en mi país, salu2!!
> --
> Milton Inostroza Aguilera
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>



-- 
ISC. Mario Jimenez Carrasco
Ingeniero de Software.




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