Grid.... en wxpython 2.6

Carlos López Pérez clp en opencanarias.com
Mie Dic 14 10:34:05 CET 2005


Si no encuentras solución, me podrías enviar como (adjunto) un
programita simple y ejecutable con main y con el grid que te da
problema, lo miro con detenimiento y lo intento arreglar...

Como alternativa a lo anterior, podrías probar con...

wxGrid::MakeCellVisible
void MakeCellVisible(int row, int col)
void MakeCellVisible(const wxGridCellCoords& coords)
Brings the specified cell into the visible grid cell area with minimal
scrolling. Does nothing if the cell is already visible. 


También, podrías probar utilizando el wxGrid::GetTable y utilizando los
métodos de la tabla, en vez de la grid directamente....

Salu2 de clp ;)

PD: Si me lo envías como adjunto, envíamelo a mi dirección personal.


El vie, 09-12-2005 a las 15:44 -0300, Ariel Nardelli escribió:
> 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
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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