Quitar imagen en togglebutton Glade?

Seguimos luchando con Glade.
Creo un togglebutton, y quiero que cuando esté apretado muestre una imagen y cuando esté sin apretar no muestre nada. Es decir:
   def on_toggle00(self,e):
      print "toggle"
      
      if self.boton00.get_active():
         iconw=gtk.Image()
         iconw.set_from_file("prohibido.jpg")
         self.boton00.set_image(iconw)
      else:
#no mostrar imagen

¿Como podría "quitar" esa imagen del boton? He probado a invocar a set_image sin imagen (error). He pensado en cambiar el atributo de gtk.Settings.gtk-button-images a false pero si no me equivoco eso cambiaría todos los botones y solo quiero cambiar el pulsado.

EDITO:
Lo he resuelto creando una imagen de un único canal alpha vacio y cargandola en lugar de la foto anterior.
Pues si me permitís, sigo este hilo para no crear uno nuevo y hago otra pregunta.
¿Como puedo actualizar la imagen del togglebutton dentro de un bucle?

while mi_robot.posicionx!=9 or mi_robot.posiciony!=9:
         icon=gtk.Image()
         icon.set_from_file("robotN.gif")
         self.boton00.set_image(icon)
         mi_robot.avanza() #no hagais caso a este método, aquí no afecta para nada
         time.sleep(1)

Lo que quiero creo que está más o menos claro. Actualizar la imagen del botón, aquí cargo siempre la misma por simplicidad pero en mi programa completo en cada iteración cargaría una distinta.
La cosa es que no se ve que cambie nada (ponga el sleep que ponga) pero cuando interrumpo el programa (Cntrl+C) SÍ que cambia la imagen, pero claro, solo una vez.
He probado con show_now() y nada. ¿Algún método tipo refresh o algo así?
¿Quién está llamando a ese código? ¿Un handler? ¿Un idle?

- ferdy
3 respuestas