Tengo esta funcion:
  
Código:
 def pwchange(self, widget, usrname, table):
        
        approvable_img = gtk.Image()
        cr= db.source()
        try:
            cr.execute("select id from users_tbl where (usrname='%s')" % usrname)
            id_data=cr.fetch()[0][0]
        except:
            id_data= -1
         
        for cont in range(0, len (usrname)+1):
            if int(cont) == len (usrname):
                if id_data > 0:
                    approvable_img.destroy()
                    approvable_img.set_from_file("<route>/LogIn_Accepted.png")
                    approvable_img.show ()
                                        
                else:
                    approvable_img.destroy()
                    approvable_img.set_from_file("<route>/LogIn_Rejected.png")
                    approvable_img.show ()
        table.attach(approvable_img, 2, 3, 0, 1)
  Cuando el usrname esta mal sale la foto que debe, pero cuando el usrname esta bien, salen ambas... la rejected sobre la accepted. 
Cuando el usuario esta mal sale asi: 
http://www.freewebs.com/oxbowc/LogIn_Mal.png
Cuando el usuario esta bien sale asi: 
http://www.freewebs.com/oxbowc/LogIn_Bien.png