Hola:
Has probado a poner un event. Skip() en el evento?

view.Bind(wx.EVT_CLOSE, self.on_close)
...
def on_close(self, event):
    self.presenter.close()
    event.Skip()




Dani

En 26/02/2014 18:00, kausdiv escribiu:
Gracias por las respuestas.

Chema, está pasado a exe con py2exe, normalmente se ejecuta desde el exe resultante. Lo descubrí porque hice un instalador con inno setup, y cuando le pasé una nueva versión a un amigo que lo necesitaba, no dejaba actualizar porque decía que estaba en ejecución.

Carlos, miraré lo que dices.

Debo apuntar, que tradicionalmente el proceso de salir lo hacía desde un botón. Pero esta vez es el evento onClose del formulario principal, de manera que se cierre con la "X". Desde un evento de botón, self.Close() va bien, pero desde el evento OnClose del form, se llama una y otra vez, por tanto no sale, pero con Destroy esto no pasa (evidentemente).

Podría hacer algo en el procedimiento para que se invoque con Close() pero no se me ocurre.

El 26/02/2014 13:33, Chema Cortes escribió:
El día 26 de febrero de 2014, 13:03, Kaus Div <kaus...@gmail.com> escribió:
Hola de nuevo.

Veréis, tengo una pequeña aplicación usando wxPython que tras cerrarla
siempre se crea como un proceso abierto. Si la abro varias veces, resulta
que en la lista de procesos puede estar 3  ó 4 veces.

El procedimiento que uso es este:

--------------
     def onClose( self, event ):
         """Cierre de la aplicacion"""
         dlg = wx.MessageDialog(self,
           "Cerrar Realmente ?",
"Confirmacion de salida", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
         result = dlg.ShowModal()
         dlg.Destroy()
         if result == wx.ID_OK:
             self.Destroy()
             #self.Close(True)
-----------------

Como veis la ultima linea Close está comentada. Cuando esta activa, la
pregunta se lanza una y otra vez hasta que pulso cancelar en el diálogo,
(normal porque se invoca continuamente onClose).
Tiene pinta de que hay algún hilo que no se cierra. Hasta que no
cierren todos los hilos, la ventana no se destruye del todo.

¿Estás ejecutando este código desde algún IDE (pe: idle)? ¿Has probado
desde la línea de comandos?





_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a