Lanzar ventana con PyGTK
Daniel Ripolles (Eru)
ripolles en aditel.org
Lun Oct 13 10:18:45 CEST 2003
El 2003.10.13 06:59, << oziko >> escribió:
> Hola llevo unos dias jugando con PyGTK, he trabajado poco con
> librerias
> gráficas pero ahora me he decidido a aprender a usar bien esta, he
> estado
> leyendo el tutorial de PyGTK que amablemente fue traducido al esp;ol
> por
> un miembro de la lista y he seguido los ejemplos que dan como
> ejemplo,
>
> pero no he encontrado como lanzar una ventana al precionar un boton
> en
> la
> ventana principal.. Es decir tengo una ventana principal que tiene un
> boton que dice captuar datos, y cuando lo aprite quiero que me lance
> otra
> ventna que contendra un formulario para llenar. La interfaz Gráfica
> ahora
> las estoy haciendo con glade. My bonito por cierto,, Bueno ojala
> puden
>
> orientarme o comentarme como es que se lanza una ventana o un cuadro
> de
> dialogo que no lo he visto en el tutorial.. Lo que se me ocurre es
> como lo
> he hecho en la ventana principal crear un nuevo objeto de la clase
> que
>
> maneje la nueva ventana, eso para crearla, pero como la lanzo esa es
> mi
> duda principal. Espero haber sido explícito. Muchas Gracias de
> antemano.
>
Yo lo que hago es utilizar los métodos .show() y hide() (para que la
ventana no salga al principio del programa, al diseñar la interfaz dale
a la propiedad Visible de la ventana el valor False).
Cuando quieras mostrar la ventana, simplemente usa ventana.show() .
Para esconderla, ventana.hide() . Ten en cuenta que si vas a querer
volver a mostrarla después (osea, casi seguro que sí) tienes que evitar
que el usuario pueda "destruirla" pulsando en la cruz de cerrar
ventana. Para conseguirlo, debes conectar la señal 'delete_event' a una
función que se encargue de "esconder" la ventana, y que devualva True
(para que no se destruya la ventana).
Si no entiendes muy bien eso último que he puesto que no te sepa mal
preguntar :)
--
Daniel Ripolles ( Eru )
perl -e '$SIG{__WARN__}=sub{$_||=pop;
s,o.*,$^X,,s$/.*/$$,print};++$^W;m||'
Más información sobre la lista de distribución Python-es