[Python-es] Proceso abierto tras cierre de aplicación
Dani
dani en damufo.com
Mie Feb 26 21:59:50 CET 2014
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 <kausdiv en 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 en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140226/0f26201e/attachment.html>
Más información sobre la lista de distribución Python-es