#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
class tmpWin(gtk.Window):
    def __init__(self, parent=None):
        gtk.Window.__init__(self)
        try:
            self.set_screen(parent.get_screen())
        except AttributeError:
            self.connect('destroy', lambda *w: gtk.main_quit())
        self.set_title(self.__class__.__name__)
        self.set_border_width(8)
        vb = gtk.VBox()
        self.add(vb)
        
        self.i=0
        
        self.arr_event = []
        self.arr_event.append(self.on_key_press_event)
        self.arr_event.append(self.on_key_press_event_ex)
        self.entry=gtk.Entry()
        vb.pack_start(self.entry, False, False)
        btn=gtk.Button("PressMe")
        btn.connect("clicked", self.btn_cliked)
        vb.pack_start(btn, False, False)
        self.show_all()
    def btn_cliked(self, btn):
        self.entry.connect("key-press-event", self.arr_event[self.i])
        btn.set_label("PressMe"+str(self.i))
        if self.i == 0: self.i+=1
        else: self.i = 0
    def on_key_press_event(self, widget, key):
        print self.i, "ONE"
    
    def on_key_press_event_ex(self, widget, key):
        print self.i, "TWO"
def main():
    tmpWin()
    gtk.main()
if __name__ == '__main__':
    main()
при создании формы динамически создается виджет, к которому вешается событие, как по человечески это сотворить?






