Astuce pour pyGTK2 : gestion des évennements sur un drawing area


avec glade2  il est possible de creer un drawing area gtk2 et la configuration des callbacks permettant :

  • rafraîchir un drawing area  si on masque / démasque la fenêtre via le callback expose-event
  • gérer les appuis de la souris dans la fenêtre via le callback event

le problème est sans l’astuce ci dessous , le callback event empêche la gestion du callback expose-event

dans un premier temps on créer un drawing area et on configure les callback expose-event et event

gestiondesevenements

ensuite modifier les masques pour récupérer les appuis souris au niveau du callback event :

gestiondesevenementsmask

dans le fichier python bien mettre un flag de retour à False dans le callback event , sinon celà ne fonctionne pas

voir ci dessous


    def on_scope_event(self,widget,event):
        if event.type==gtk.gdk.BUTTON_PRESS:
            print ":::::BUTTON_PRESS"
            if event.button ==1:
                print "Button 1 :", event.x,event.y
# important sinon cela ne fonctionne pas 
        return False

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s