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