[Python-es] Proceso abierto tras cierre de aplicación

monoBOT monobot.soft en gmail.com
Jue Feb 27 15:44:14 CET 2014


Yo probaría en realizar la pregunta en el foro de wxpython... cuando he
tenido problemas de éste tipo siempre han sido muy rápidos y amables a la
hora de ayudar. Eso si tendrás que redactarlo en inglés.


El 26 de febrero de 2014, 21:04, Dani <dani en damufo.com> escribió:

>  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><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/
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
*monoBOT*
Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140227/f54d704a/attachment.html>


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