06/01/2011, 08:55
|
| | | Fecha de Ingreso: marzo-2010 Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 7 meses Puntos: 71 | |
Respuesta: Consulta botón salir Hola:
He copiado y pegado el código que mencionas haz corregido, pero al hacer click en el boton salir el programa se cuelga. He trabajado en el idle de python 2.7 y tengo todo lo necesario para trabajar con pygtk y gtk+.
He tenido este mismo problema con otras implementaciones, no entiendo porque no corre o si mi función de retrollamda es incorrecta (la función es la misma que tu usas).
Su pudieras darme algún alacance más te agradecería. Cita:
Iniciado por razpeitia No invoca a destroy, por que el evento es clicked, si el evento fuera delete entonces manda a llamar a destroy.
Mismo código pero corregido:
Código Python:
Ver original#coding: utf-8 import gtk class Programa: def __init__(self): self.ventana = gtk.Window(gtk.WINDOW_TOPLEVEL) self.ventana.connect('delete_event', self.delete_event) self.ventana.connect('destroy', self.destroy) self.ventana.set_title('T�tulo de la ventana') self.ventana.set_default_size(440, 250) self.ventana.set_border_width(50) self.caja_v = gtk.VBox(True, 0) self.etiqueta = gtk.Label('Bienvenido:') self.entrada = gtk.Entry(20) self.botonera_h = gtk.HButtonBox() self.boton_aplicar = gtk.Button(stock=gtk.STOCK_APPLY) self.boton_aplicar.connect('clicked', self.clicked, 'Bot�n Aplicar') self.boton_cancelar = gtk.Button(stock=gtk.STOCK_CANCEL) self.boton_cancelar.connect('clicked', self.clicked, 'Bot�n Cancelar') self.boton_cancelar.connect("clicked", self.OnCancel) self.ventana.add(self.caja_v) self.caja_v.pack_start(self.etiqueta, True, True, 0) self.caja_v.pack_start(self.entrada, True, True, 0) self.caja_v.pack_start(self.botonera_h, True, True, 0) self.botonera_h.add(self.boton_aplicar) self.botonera_h.add(self.boton_cancelar) def main(self): gtk.main() def show(self): self.ventana.show_all() def delete_event(self, widget, data=None): print 'delete_event' return False def destroy(self, widget, data=None): print 'destroy' gtk.main_quit() def clicked(self, widget, data=None): print data def OnCancel(self, widget, data=None): print "Saliendo manualmente" gtk.main_quit() if __name__ == '__main__': programa = Programa() programa.show() programa.main()
|