RE: destrucción de una ventana

Rafael Cantos rafaelcantos en hotmail.com
Vie Abr 18 16:09:44 CEST 2008


gracias, pero creo que no sirve eso en pygtk.
A ver si alguno acostumbrado a pygtk aporta algo de ayuda.
 
Saludos.
 
Rafa
 
Con wx yo hago lo siguiente:Para cerrar la ventana desde un botón:self.Close()Y me ha funcionado correctamente.Lo otro, para que no se me bloquee el nuevo formulario (o página) me asegurode que ésta es un form child.Vuelvo y te repito, trabajo con wx y visualwx, no se si esto te sirva dealgo.El día 16/04/08, Rafael Cantos <rafaelcantos en hotmail.com escribió:Hola de nuevo.tengo un problema con una ventana que cuelga de la ventana principal.Desde el menú de la aplicación, llamo al método ir_a_pagina(), el cuál creaotra ventana con una entrada de texto y dos botones. El problema viene alpulsar algun botón o al presionar enter sobre la entrada de texto.Si pulso enter sobre el botón cancelar, no pasa nada (y en otros cambiosque he hecho, cerraba todo el programa). Si se pulsa el botón aceptar o sepulsa enter sobre la entrada de texto, el programa se queda pillado.Os agradecería vuestra ayuda y que me dijeseis que he hecho mal.Se me olvidaba. una vez que se pulse un botón o sobre la entrada de texto,se realiza la acción concreta y esta ventana debe cerrarse, volviendo elcontrol al programa principal.def obtener_pag_teclado_callback(self, widget, entry, window):"""MÃ(c)todo para obtener la página de la entrada de texto e iniciar labúsqueda"""entry_text = entry.get_text()valido = self.l.buscar_pagina(entry_text)if valido == 1:# self.r.detener()# self.l.obtener_pistas(self.l.nodos_libro[self.l.pos_nodos_libro])# self.sinc_vista_audio()window.destroy()else:self.mostrar_mensaje("Página no válida", "La página introducida excedeel rango o no se ajusta al formato")window.destroy()def ir_a_pagina_callback(self, w, data):"""MÃ(c)todo para controlar la búsqueda de una página indicada por el usuario"""existe = self.comprobar_libro()if existe == 1:window = gtk.Window(gtk.WINDOW_TOPLEVEL)window.set_size_request(200, 100)window.set_title("GTK Entry")window.connect("delete_event", self.destroy)vbox = gtk.VBox(False, 0)window.add(vbox)vbox.show()entry = gtk.Entry()entry.set_max_length(50)entry.connect("activate", self.obtener_pag_teclado_callback, entry,window)entry.set_text("hello")entry.insert_text(" world", len(entry.get_text()))entry.select_region(0, len(entry.get_text()))vbox.pack_start(entry, True, True, 0)entry.show()hbox = gtk.HBox(False, 0)vbox.add(hbox)hbox.show()boton_aceptar = gtk.Button("Aceptar")hbox.pack_start(boton_aceptar, True, True, 0)boton_aceptar.connect("clicked", self.obtener_pag_teclado_callback, entry,window)boton_aceptar.show()button = gtk.Button("Cancelar")button.connect("clicked", self.destroy)hbox.pack_start(button, True, True, 0)button.set_flags(gtk.CAN_DEFAULT)button.grab_default()button.show()window.show()else:self.mostrar_mensaje("Advertencia", "No hay ningun libro actualmente enreproducción")def mostrar_mensaje(self, titulo, mensaje):"""MÃ(c)todo para mostrar un mensaje"""# Creacion de una ventana de dialogoself.mensaje = gtk.Dialog(titulo, None, 0, (gtk.STOCK_OK,gtk.RESPONSE_OK))# creacion de una etiqueta con el mensaje de errorself.mensaje.etiqueta = gtk.Label(mensaje)self.mensaje.vbox.pack_start(self.mensaje.etiqueta, True, True, 0)self.mensaje.etiqueta.show()response = self.mensaje.run()self.mensaje.destroy()Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informáticade Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL:rafaelcantos en hotmail.comCreo que ha podido estropearse la identación al copiar el código.Saludos.Rafa
_________________________________________________________________
MSN Noticias
http://noticias.msn.es/comunidad.aspx_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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