Ejemplo para crear diálogos modales de distintos tipos con distintos botones.
import gtk import sys # por defecto crea un mensaje de informacion sin botones info = gtk.MessageDialog(message_format="informacion!") # tipo advertencia con un boton de ok warning = gtk.MessageDialog(type=gtk.MESSAGE_WARNING, buttons=gtk.BUTTONS_OK_CANCEL, message_format="advertencia..") # pregunta con botones si no question = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION, buttons=gtk.BUTTONS_YES_NO, message_format="pregunta?") # error con boton ok error = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK, message_format="error!?!") # run bloquea hasta que se produzca un evento y devuelve el valor del evento if info.run() == gtk.RESPONSE_DELETE_EVENT: print "si, es la unica senial que puede emitir, ya que no tiene botones" # hay que esconder el dialogo info.hide() # almacenamos el valor de retorno en una variable para controlar varios valores response = warning.run() warning.hide() if response == gtk.RESPONSE_OK: print "advertencia respondio aceptar" elif response == gtk.RESPONSE_CANCEL: print "advertencia respondio cancel" response = question.run() if response == gtk.RESPONSE_YES: print "respondio si!" elif response == gtk.RESPONSE_NO: print "respondio no :(" question.hide() if error.run() == gtk.RESPONSE_OK: print "error OK" error.hide() sys.exit(0) gtk.main()