Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2011, 16:09
faidoc
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 9 meses
Puntos: 0
Destruir ventanas y volver a verlas - pygtk

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:
class icono:
   def __init__(self):
      builder = gtk.Builder()
      if OS != "win32":
        builder.add_from_file("resanator-gui.glade")
      else:
        os.chdir("C:\\resanator")
        builder.add_from_file("resanator-gui.glade")
      self.iconobandeja = builder.get_object("iconobandeja")
      self.menu = builder.get_object("menu")
      self.acerca_dialogo = builder.get_object("acerca_dialogo")
      self.preferencias = builder.get_object("preferencias")
      self.usuario_en = builder.get_object("usuario_en")
      self.clave_en = builder.get_object("clave_en")
      self.guardar_credenciales = builder.get_object("guardar_credenciales")
      self.menu_comedor = builder.get_object("menu_comedor")
      self.vista = builder.get_object("vista")
      self.cerrar_menu_comedor = builder.get_object("cerrar_menu_comedor")
	

      builder.connect_signals(self)
esa es la funcion __init__

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

Código:
 def on_cerrar_acerca_clicked(self, widget, data=None):
	  self.acerca_dialogo.hide()
Para activar esa ventana tengo lo siguiente:

Código:
  def on_iconobandeja_activate(self, widget, data=None):
      self.acerca_dialogo.show_all()
y por ultimo
Código:
if __name__ == "__main__":  
	icono()
	gtk.main()
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