Error con grid en wxpython
Ariel Nardelli
pan_python en yahoo.com.ar
Jue Ago 2 06:10:01 CEST 2007
Mario Lacunza wrote:
> Hola,
>
> la ejecucion de tu programa se detiene?
>
> Me parece q el widget no soporta cierta funcion q estas utilizando o tiene
> un conflicto, te lo da en otro OS?
>
Solo lo uso en linux :( no lo puede probar en windows porque no tengo
ningun win a mano...
Y no, no se detiene continua funcionando sin problemas...
Alguna idea?
Gracias!
Ariel
>
> 2007/7/31, Ariel Nardelli <pan_python en yahoo.com.ar>:
>
>> Hola!
>>
>> Estoy teniendo un problema con un grid, en un programa de python.
>>
>> Les pongo aca las partes relevantes del programa...
>>
>>
>> #!/usr/bin/env python
>> # -*- coding: ISO-8859-1 -*-
>>
>> #
>> # Emision de Facturas
>> #
>> import wx
>> import wx.grid
>> from sql import *
>> from fechas import *
>> from forpag import * # Tabla Forma de pago
>> import letras
>>
>> class p2111(wx.MDIChildFrame):
>> def __init__(self, pmios, *args, **kwds):
>> self.pmios = pmios[:]
>>
>> ...
>>
>> # Grid items de Facturas.
>> self.static_line_2 = wx.StaticLine(self, -1)
>> self.static_line_7 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL)
>> self.grid = wx.grid.Grid(self, -1, size=(1, 1))
>> self.static_line_8 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL)
>>
>> self.__set_properties()
>> self.__do_layout()
>>
>> # Eventos del Grid de "Items de Facturas"
>> self.Bind(wx.grid.EVT_GRID_CMD_CELL_CHANGE, self.gridmodlinea,
>> self.grid)
>>
>> def __set_properties(self):
>> self.SetTitle("Emision Facturas")
>> _icon = wx.EmptyIcon()
>> _icon.CopyFromBitmap(wx.Bitmap("iconos/ft.ico", wx.BITMAP_TYPE_ANY
>> ))
>> self.SetIcon(_icon)
>>
>> ...
>>
>> # Grid Items de Facturas.
>> self.grid.CreateGrid(16, 2)
>> self.grid.EnableEditing(1)
>> self.grid.SetRowLabelSize(0)
>> self.grid.SetColLabelSize(20)
>> self.grid.EnableDragColSize(0)
>> self.grid.EnableDragRowSize(0)
>> self.grid.SetGridLineColour(wx.Colour(192, 192, 192))
>> self.grid.SetSelectionMode(wx.grid.Grid.wxGridSelectRows)
>> self.grid.SetFont(wx.Font(self.let[6][2], wx.TELETYPE,
>> wx.NORMAL, self.let[6][3], 0, self.let[6][1]))
>> self.grid.SetColLabelValue(0, "Descripcion")
>> self.grid.SetColLabelValue(1, "Importe")
>> self.grid.SetColSize(0, 455)
>> self.grid.SetColSize(1, 95)
>> 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]))
>>
>>
>> def __do_layout(self):
>> ...
>> grid_sizer_5.Add(self.grid, 1,
>> wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
>> ...
>> self.SetAutoLayout(True)
>> self.SetSizer(grid_sizer_1)
>> grid_sizer_1.Fit(self)
>> grid_sizer_1.SetSizeHints(self)
>> self.Layout()
>>
>>
>>
>> #############################################################################
>> # Eventos de Grid
>> def gridmodlinea(self, event): # Modifica alguna linea del grid.
>> for k in range(0,16):
>> # Verifico que ninguno de los elementos del grid tenga un
>> largo mayor a 4.
>> if len(self.grid.GetCellValue(k,0)) > 4 : # (Descripcion)
>> Mayor al largo permitido.
>> mensa = "El renglon " + str(k+1) + " tiene un largo
>> mayor al permitido. Por favor achique esa linea.\nGracias"
>> self.cartelitos("Atencion",mensa)
>> wx.SetCursor(wx.STANDARD_CURSOR)
>> self.pasafoco('grid')
>> return
>> event.Skip()
>>
>> Ok hasta aca el programa o mejor dicho partes del programa :)
>>
>> El problema se me presenta cuando me posiciono en el evento de grid y
>> empiezo a escribir algo, automaticamente al hacerlo me aparece esto en
>> la linea de comandos donde estoy ejecutando el programa...
>>
>> (python:3956): Gtk-CRITICAL **: gtk_container_remove: assertion
>> `GTK_IS_TOOLBAR (container) || widget->parent == GTK_WIDGET (container)'
>> failed
>>
>> (python:3956): Gtk-CRITICAL **: gtk_container_remove: assertion
>> `GTK_IS_TOOLBAR (container) || widget->parent == GTK_WIDGET (container)'
>> failed
>>
>>
>> La pregunta es.. esto es normal???, que estoy haciendo mal o que me
>> falta?????
>>
>> Gracias!!!!
>> Ariel
>>
>> _______________________________________________
>> 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