PyGTK Notebook button_press_event connection

Johan Dahlin jdahlin at
Tue Jan 24 08:58:58 EST 2006

> <code>
> notebook = gtk.Notebook()
> ...
> child = gtk.Frame()
> ...
> label = gtk.Label('Any text')
> label.connect('button_press_event', a_function)
> ...
> notebook.append_page(child, label)
> </code>
> But the button_press_event event is not intercepted (nothing happens
> when I click on the tab label).

A gtk.Label does not have a gdk window (as in the windowing system of gtk+), 
so it cannot listen to events. A workaround is to put it in an eventbox:

eventbox = gtk.EventBox()
eventbox.connect('button-press-event', callback)

label = gtk.Label()

notebook.append_page(..., eventbox)

Perhaps you should subscribe to the PyGTK mailing list[1] though, where this 
kind of question is more appropriately asked


Johan Dahlin

More information about the Python-list mailing list