Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / callback associé à des signaux gtk

callback associé à des signaux gtk

Remonter à Forum général Python
  • callback associé à des signaux gtk

    Envoyé par awalter1 le 3 Septembre 2007 à 11:27
    Bonjour,

    En parcourant un code python (utilisant l'interface pygtk), je vois des return False ou True (selon ce qui est fait) dans des callback associées à des signaux d'objets gtk.
    exemple:
    entry.connect("focus-in-event",self.Callback,entry, editableCell)

    def Callback(self, widget, event, entry, editableCell):
    if ... :
    return False
    else:
    return True

    De mon point de vue, la valeur retournée n'est pas utilisée, mais je n'en suis pas certain.

    Merci de me faire partagere votre avis



    • Re: callback associé à des signaux gtk

      Envoyé par alexd le 5 Septembre 2007 à 23:09
      Bonsoir,

      Après rapide lecture dans la doc ( http://www.pygtk.org/pygtk2tutorial/sec-SignalEmissionAndPropagation.html ) la valeur de retour te permet de bloquer ou de continuer la propagation d'un signal d'un widget vers son parent.

      Si la valeur de retour d'emission d'un signal est False, le signal est réémis au widget parent, sinon l'événement est considéré comme traité et la propagation s'arrete là.

      Par "valeur de retour d'emission d'un signal", pygtk désigne la valeur de retour du handler appelé en dernier pour un objet et un signal donné. Par défaut c'est le handler fourni par gtk+, à moins qu'on utilise connect_after au lieu de connect pour lier signal et callback.

      Il'y a effectivement de fortes chances que la valeur soit ignorée dans ton exemple vu qu'on utilise connect (le handler par défaut est donc appelé en dernier, et c'est sa valeur de retour qui compte pour la propagation).

      Si mon explication ne te parait pas suffisament claire, fais le moi savoir ;) je tacherais de détailler un peu plus ...
Rendu par Ploneboard