[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