wxmenu en linux si en win no...

Ariel Nardelli pan_python en yahoo.com.ar
Lun Nov 20 18:26:57 CET 2006


Hola!

Hace unos dias contaba un gran problema que tenia para el manejo de wx 
con los menues, en linux funcionaba perfectamente pero en window no 
habia forma de que funcione...

Dando vueltas y vueltas vengo a dar de casualidad con la solucion, y es 
que el codigo del menu no debe tener mas de 4 numeros para que funcione 
en windows, yo actualmente en linux uso opciones de menu de 8 digitos 
pero en windows eso no anda solo anda con 4...

EJEMPLOS...

        # -99- Fin!
        msal = wx.Menu()
        msal.Append(10102510,"opc", "Opcion.")
        msal.Append(99999999,"Salir", "Salir del sistema.")

        # Error y Salir.
        self.Bind(wx.EVT_MENU, self.atalo, id=99999999)
        self.Bind(wx.EVT_CLOSE, self.datalo)
        wx.EVT_WINDOW_DESTROY(self,self.datalo)  # Es para cuando sale 
es lo mismo que el boton cerrar...

Esta opcion en linux para salir funciona perfectamente pero en window no 
y es porque el id es muy largo (8 caracteres) para que ande en win hay 
que poner un maximo de 4 o sea asi..

        # -99- Fin!
        msal = wx.Menu()
        msal.Append(2510,"opc", "Opcion.")
        msal.Append(9999,"Salir", "Salir del sistema.")

        # Error y Salir.
        self.Bind(wx.EVT_MENU, self.atalo, id=9999)
        self.Bind(wx.EVT_CLOSE, self.datalo)
        wx.EVT_WINDOW_DESTROY(self,self.datalo)  # Es para cuando sale 
es lo mismo que el boton cerrar...

Y ahi fa a funcionar..
Yo usaba id largos porque asi diferenciaba las opciones de menu, ahora 
voy a ver como reacomodo todo :(

Ariel




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