Foros del Web » Programando para Internet » Python »

Problemas con WxPython

Estas en el tema de Problemas con WxPython en el foro de Python en Foros del Web. Buenas; Mi problemas es el siguiente, estoy trabajando con Nessi una libreria de Python que sirve para realizar simulacion de protocolo de red, dicha libreria ...
  #1 (permalink)  
Antiguo 23/02/2012, 04:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Busqueda Problemas con WxPython

Buenas;

Mi problemas es el siguiente, estoy trabajando con Nessi una libreria de Python que sirve para realizar simulacion de protocolo de red, dicha libreria tiene un modulo(simcon) el cual representa graficamente los resultados de las simulaciones. Simcon utilza WxPython, al ejecutar en la consola de windows simcon me da el siguiente error:

Código:
C:\>simcon.py
Traceback (most recent call last):
File "C:\simcon.py", line 406, in ?
_simcon = SimCon(0)
File "C:\Python24\Lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 7757
, in __init__
self._BootstrapApp()
File "C:\Python24\Lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 7354
, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "C:\simcon.py", line 71, in OnInit
self.initFrame()
File "C:\simcon.py", line 81, in initFrame
self.gui_statusbar = XRCCTRL(self.gui_frame, "statusbar")
File "C:\Python24\lib\site-packages\wx-2.8-msw-unicode\wx\xrc.py", line 254, i
n XRCCTRL
return window.FindWindowById(XRCID(str_id))
AttributeError: 'NoneType' object has no attribute 'FindWindowById'
Agradeceria cualquier ayuda, ya que mi conocimiento de Python no es muy extenso, nos como abordar la solucion de este problemaa.

Un saludo.
  #2 (permalink)  
Antiguo 23/02/2012, 08:42
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con WxPython

Bueno, pues es obvio: "window" es None (NULL).

El problema es que el error está en una biblioteca, y no en tu programa. Entonces las preguntas son: ¿estás creando en algún momento una ventana? ¿debe alguna de las funciones que usás recibir una ventana como parámetro?

En última instancia siempre podés intentar seguir el stacktrace de forma inversa para ver qué sucede exactamente, pero antes de llegar a ese punto te recomiendo verificar que no estés pasando nada con valor None a ningún método que espere algo diferente.


Saludos.
  #3 (permalink)  
Antiguo 06/03/2012, 05:24
 
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problemas con WxPython

Hola;

Entiendo lo que me explicas; pero no se de donde vienen todas esas funciones ya que peretencen a la libreria wxpython, por lo que no forman parte del codigo del programa.
Conctretamente da error en la siguiente parte del modulo de Nessi:
Código Python:
Ver original
  1. [CODE]class SimCon(wx.App):
  2.     """Simulation controller with graphical user interface"""
  3.     simStatus = None
  4.  
  5.     def OnInit(self):
  6.         self.res = XmlResource("simcon_mainwin.xrc")
  7.         self.initFrame()
  8. ...
  9.   def initFrame(self):
  10.         self.gui_frame = self.res.LoadFrame(None, "mainframe")
  11.         self.gui_statusbar = XRCCTRL(self.gui_frame, "statusbar")
  12.         self.gui_console = XRCCTRL(self.gui_frame, "console")
  13.         self.gui_simtime_text = XRCCTRL(self.gui_frame, "simtime_text")
  14.         self.gui_simtime_slider = XRCCTRL(self.gui_frame, "simtime_slider")
  15.         self.gui_delay_text = XRCCTRL(self.gui_frame, "delay_text")
  16.         self.gui_delay_text.SetValue("0 ms")
  17.         self.gui_delay_slider = XRCCTRL(self.gui_frame, "delay_slider")
  18.         wx.EVT_COMMAND_SCROLL(self.gui_frame, XRCID("delay_slider"),
  19.                                          self.onDelayScroll)
  20.         wx.EVT_COMMAND_SCROLL_ENDSCROLL(self.gui_frame, XRCID("delay_slider"),
  21.                                          self.newSimDelay)
  22.         wx.EVT_COMMAND_SCROLL_THUMBRELEASE(self.gui_frame,
  23.                                            XRCID("delay_slider"),
  24.                                            self.newSimDelay)
  25.  
  26.  
  27. [/CODE]
Concretamente falla al llamar al metodo initFrame, mas concretamamente en esta sentencia: self.gui_statusbar = XRCCTRL(self.gui_frame, "statusbar"), lo que hace pensar que lo da error es la funcion XRCCTRL de Wxpython.

Un saludo
  #4 (permalink)  
Antiguo 06/03/2012, 07:00
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con WxPython

Siempre, ante la duda, y sobretodo en casos simples, tenés que pensar que el error está en tu código, y no en la biblioteca.

Por ejemplo, estás inicializando gui_frame con un parámetro None. ¿Es eso necesario? ¿Qué pasa si lo inicializás de otra forma?

Etiquetas: wxpython
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:08.