Я заметил, что когда Eventbox добавляется в Layout, некоторые события пропускаются, это не происходит, например, добавление его в Fixed (очень похожий виджет), я пытался восстановить маску событий таким образом, но безуспешно:
import pygtk
import gtk
def foo(widget, event):
print event
pygtk.require('2.0')
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect('destroy', lambda x: gtk.main_quit())
eventbox = gtk.EventBox()
eventbox.connect('button-press-event', foo) # works
eventbox.connect('motion-notify-event', foo) # fail
eventbox.set_events(
gtk.gdk.BUTTON_MOTION_MASK| # restoring missed masks
gtk.gdk.BUTTON1_MOTION_MASK|
gtk.gdk.BUTTON2_MOTION_MASK|
gtk.gdk.BUTTON3_MOTION_MASK)
layout = gtk.Layout()
image = gtk.image_new_from_file('/home/me/picture.jpg')
layout.add(image)
eventbox.add(layout)
window.add(eventbox)
window.show_all()
gtk.main()
Как мне восстановить пропущенное событие / маску?