Grid.... en wxpython 2.6

Ariel Nardelli pan_python en yahoo.com.ar
Vie Dic 9 19:44:07 CET 2005


Hola!

Cambiaron algunas cosas (para bien) en wxpython pero lo que mas me esta 
costando readaptar es el grid.

Tengo el problema que al generar un grid y agregarle lineas no se 
visualizan si se generan y se cargan en el objeto pero no se lo ve en el 
grid, para verlo tengo que posicionar el cursor en la ultima linea y 
darle cursor o pagina abajo y ahi si se carga todo lo que estaba "no 
visible", incluso la barra del desplazamiento queda grande pero al 
moverme en el grid como les digo se achica y se muestra la barra de 
desplazamiento correcta, es como que el grid queda tal cual lo diseñe y 
luego cuando se agregan lineas si bien se cargan no se muestran, para 
que se muestre tengo que pararme con el cursor y moverlo para abajo y 
ahi si es como que el grid se refresca y se muestra correctamente...

Les cuanto como hago las cosas...

Asi creo el grid...

        self.tope = 15
        self.grid.CreateGrid(self.tope, 7)
        self.grid.EnableEditing(0)
        self.grid.SetRowLabelSize(0)
        self.grid.EnableDragColSize(1)
        self.grid.EnableDragRowSize(0)
        self.grid.SetGridLineColour(wx.Colour(192, 192, 192))
        self.grid.SetSelectionMode(wx.grid.Grid.wxGridSelectRows)
        self.grid.SetColLabelSize(self.let[5][4])
        self.grid.SetLabelFont(wx.Font(self.let[6][2], wx.TELETYPE, 
wx.NORMAL, self.let[6][3], 0, self.let[6][1]))
        self.grid.SetColLabelValue(0, "Cuenta")
        self.grid.SetColLabelValue(1, "Razon Social")
        self.grid.SetColLabelValue(2, "F.Ult.Mov")
        self.grid.SetColLabelValue(3, "Saldo Anterior")
        self.grid.SetColLabelValue(4, "debe")
        self.grid.SetColLabelValue(5, "haber")
        self.grid.SetColLabelValue(6, "Saldo")
        self.grid.SetColSize(0, 55)
        self.grid.SetColSize(1, 300)
        self.grid.SetColSize(2, 90)
        self.grid.SetColSize(3, 98)
        self.grid.SetColSize(4, 85)
        self.grid.SetColSize(5, 85)
        self.grid.SetColSize(6, 85)
        self.grid.SetDefaultRowSize(self.let[5][4])
        self.grid.SetDefaultCellFont(wx.Font(self.let[6][2], 
wx.TELETYPE, wx.NORMAL, self.let[6][3], 0, self.let[6][1]))

Asi es como voy agregando las cosas al grid, ya los valores de col00/06 
vienen cargados de otros lados y self.renglon va llevando las lineas que 
hay y si se necesitan van agregando las lineas necesarias.
La cosa es que esas lineas son las que no se actualizan en la parte de 
la vision o sea, esas lineas que se agregan si quedan agregadas pero no 
quedan visibles y para hacerlas visibles tengo que hacer con el cursor 
como les conte antes...

    def elg(self): # Escribe en el grid lo que se quiere poner...
        if self.renglon >= self.tope:
            self.grid.AppendRows(1,True)
            self.tope = self.tope + 1

        self.grid.SetCellValue(self.renglon,0, self.col00)
        self.grid.SetCellValue(self.renglon,1, self.col01)
        self.grid.SetCellValue(self.renglon,2, self.col02)
        self.grid.SetCellValue(self.renglon,3, self.col03)
        self.grid.SetCellValue(self.renglon,4, self.col04)
        self.grid.SetCellValue(self.renglon,5, self.col05)
        self.grid.SetCellValue(self.renglon,6, self.col06)

        self.grid.SetCellAlignment(self.renglon, 0,  
wx.ALIGN_RIGHT,wx.ALIGN_CENTRE)
        self.grid.SetCellAlignment(self.renglon, 1,  
wx.ALIGN_LEFT,wx.ALIGN_CENTRE)
        self.grid.SetCellAlignment(self.renglon, 2,  
wx.ALIGN_CENTRE,wx.ALIGN_CENTRE)
        self.grid.SetCellAlignment(self.renglon, 3,  
wx.ALIGN_RIGHT,wx.ALIGN_CENTRE)
        self.grid.SetCellAlignment(self.renglon, 4,  
wx.ALIGN_RIGHT,wx.ALIGN_CENTRE)
        self.grid.SetCellAlignment(self.renglon, 5,  
wx.ALIGN_RIGHT,wx.ALIGN_CENTRE)
        self.grid.SetCellAlignment(self.renglon, 6,  
wx.ALIGN_RIGHT,wx.ALIGN_CENTRE)

        self.renglon = self.renglon + 1
        return

Bueno si a alguien le esta pasando lo mismo y lo soluciono me gustaria 
que me cuente como lo hizo.

Gracias!

-- 
Saludos
Panflin

www.reconquista.com.ar




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