[Python-es] Forma pytonica de llenar un TreeListCtrl

conterperawebs webs conterperawebs en gmail.com
Jue Mar 1 18:24:25 CET 2012


Hola!!

  Estoy aprendiendo Python y estoy seguro que este codigo (que me funciona)
se puede simplificar mucho, programando de forma "pytonica".

  Lo que intento es llenar un TreeListCtrl, a partir de una lista que
contiene otra lista, llamada Registros.

Los datos los obtengo de una tabla de sqlite a traves del metodo fetchall.

La estructura de la tabla seria esta
Registros
ID                    Campo 0(root)              Campo1
Campo2                  Campo3            Campo4
1                             X
A                          A1                       AA1                datoA
2                             X
A                          A1                       AA2
datoB
3                             X
A                          A2                       AA1
dato3
4                             X
B                          A1                       AA1                dato4
5                             X
C                          A1                       AA1                dato5
6                             X
D                          A1                       AA2                dato6


Donde Campo0 seria el root, Campo1, campo2, y campo3, serian nodos del
arbol y Campo4 serian las hojas.


      familia_ant = ""
      subfamilia_ant = ""

        for reg in Registros:
            if familia_ant != reg[2]:
                item = self.tree.AppendItem(raiz,reg[2], data=None)

                familia_ant = reg[2]
            if subfamilia_ant != reg[3]:
                familia = self.tree.AppendItem(item, reg[3], data=None)

                subfamilia_ant = reg[3]

            final = self.tree.AppendItem(familia, reg[4], data=None)
            self.tree.SetItemText(final, reg[5], 1)

Gracias anticipadas.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120301/5df3b887/attachment.html>


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