• Jueves 28 de Marzo de 2024, 14:23

Autor Tema:  Destruir ventanas y volver a verlas - pygtk  (Leído 1470 veces)

faidoc

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Destruir ventanas y volver a verlas - pygtk
« en: Lunes 28 de Febrero de 2011, 20:42 »
0
Tengo un gran problema y es que no entiendo como hacer para que si el usuario pulsa la X para cerrar una ventana pueda volver a verla luego (tal como lo tengo montado). Y es que dandole al boton que creo de "Cerrar" hago un simple hide y funciona bien, pero no se como hacer con lo de la X. Entiendo que tengo que volver a crear esa ventana... pero no se como.

esto es lo que tengo:

Código: Text
  1. class icono:
  2.    def __init__(self):
  3.       builder = gtk.Builder()
  4.       if OS != "win32":
  5.         builder.add_from_file("resanator-gui.glade")
  6.       else:
  7.         os.chdir("C:\resanator")
  8.         builder.add_from_file("resanator-gui.glade")
  9.       self.iconobandeja = builder.get_object("iconobandeja")
  10.       self.menu = builder.get_object("menu")
  11.       self.acerca_dialogo = builder.get_object("acerca_dialogo")
  12.       self.preferencias = builder.get_object("preferencias")
  13.       self.usuario_en = builder.get_object("usuario_en")
  14.       self.clave_en = builder.get_object("clave_en")
  15.       self.guardar_credenciales = builder.get_object("guardar_credenciales")
  16.       self.menu_comedor = builder.get_object("menu_comedor")
  17.       self.vista = builder.get_object("vista")
  18.       self.cerrar_menu_comedor = builder.get_object("cerrar_menu_comedor")
  19.    
  20.  
  21.       builder.connect_signals(self)
  22.  

esa es la funcion __init__

luego para cuando el usuario da click en el boton "Cerrar":

 
Código: Text
  1.  def on_cerrar_acerca_clicked(self, widget, data=None):
  2.       self.acerca_dialogo.hide()
  3.  

Para activar esa ventana tengo lo siguiente:

 
Código: Text
  1.   def on_iconobandeja_activate(self, widget, data=None):
  2.       self.acerca_dialogo.show_all()
  3.  

y por ultimo
Código: Text
  1. if __name__ == "__main__":  
  2.     icono()
  3.     gtk.main()
  4.  
El programa es un icono en la bandeja del sistema, al darle click izquierdo sale el "Acerca de"

A ver si me podeis ayudar, porque me pasa lo mismo con todas las ventanas aparte del programa -.-

gracias