ventana Tk que no se cierra

Alezeia González Alezeia.Gonzalez en iit.upcomillas.es
Vie Sep 21 10:11:59 CEST 2007


Gracias Gabriel!



He probado a quitar el mainloop() y la ventana se cierra sola. El problema
es que cuando vuelvo a ejecutar el programa en Python sin cerrar y volver a
abrir el PSS/E, aparece la ventana sin los valores por defecto que le meto
por fichero. Al introducir los valores nuevos, no me los actualiza y ejecuta
el caso anterior.



Lo que necesito es que, al pulsar aceptar, se actualicen los valores y se
cierre la ventana, y que, al volver a ejecutar, se actualicen los valores y
así no tener que estar abriendo y cerrando PSS/E continuamente.



He probado con varias llamadas a funciones de Tk:

*         w.mainloop()--> hay que cerrarlo a mano

*         w.update() --> se cuelga la ventana

*         w.withdraw() --> se oculta la ventana y no veo manera de cerrarla

*         w.show()--> he probado la combinación del anterior con éste, pero
hace lo mismo que sin el w.show()

*         w.quit()--> se cuelga la ventana Tk y al ejecutar otra vez no
actualiza los valores



Espero encontrar la función adecuada. ¿Alguien la conoce o conoce alguna
otra forma de hacer el diseño de la ventana?



Gracias.









-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
nombre de Gabriel Genellina
Enviado el: viernes, 21 de septiembre de 2007 4:08
Para: python-es en aditel.org
Asunto: [Python-es] Re: ventana Tk que no se cierra



En Thu, 20 Sep 2007 10:33:24 -0300, Alezeia González 

<Alezeia.Gonzalez en iit.upcomillas.es> escribi?:



> Tengo un problema. Estoy haciendo una ventana para un programa en Python 

> que

> se ejecuta desde PSS/E. La ventana sólo sirve para introducir unas 

> opciones

> de ejecución. Una vez que se introducen, para que el programa siga

> ejecutando, tengo que cerrar la ventana a mano pulsando "X". Necesito 

> que la

> ventana desaparezca al pulsar aceptar y que siga ejecutando.

>

>

>

> root = Tk()

> w = opciones(root,'Configuracion nMenos1')

> w.mainloop()

> ierr = psspy.progress_output(1, 'SALIDA STANDARD',(1,1))

> print ' y aquí ya seguiría...'



Creo que todo se arregla quitando la llamada a w.mainloop()

tkSimpleDialog hace todo lo necesario y tiene su propio loop de mensajes.



<http://www.pythonware.com/library/tkinter/introduction/dialog-windows.htm>



--

Gabriel Genellina





--
La presente comunicación tiene carácter confidencial y es para el exclusivo uso del destinatario indicado en la misma. Si Ud. no es el destinatario indicado, le informamos que cualquier forma de distribución, reproducción o uso de esta comunicación y/o de la información contenida en la misma están estrictamente prohibidos por la ley. Si Ud. ha recibido esta comunicación por error, por favor, notifíquelo inmediatamente al remitente contestando a este mensaje y proceda a continuación a destruirlo. Gracias por su colaboración.

This communication contains confidential information. It is for the exclusive use of the intended addressee. If you are not the intended addressee, please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited by law. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy this message. Thank you for your cooperation.




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