[pygtk] Overriding default handlers in PyGTK
Kani
jkani4 at gmail.com
Wed Mar 12 22:37:39 WST 2008
Hi,
I found good reference page on the web.
http://www.sicem.biz/personal/lgs/docs/docs/gobject-python/gobject-tutorial.html
Have you ever visited that site?
If not, I hope it will be good help for you.
regards.
On Wed, 12 Mar 2008 20:34:15 +0900
"KwangYul Seo" <skyul ¡÷ nomadconnection.com> wrote:
> Hello,
>
> Is is possible to override default event handlers in PyGTK? In pygobject,
> methods with "do_signal_name" name convention automatically become default
> handlers. I tried to override the default "realize" handler in PyGTK.
> However, do_realize was never called in this case. Do I have to connect to
> window's "realize" signal in this case? How can I override default signal
> handlers written in C with Python?
>
>
> #!/usr/bin/env python
>
> import pygtk
> pygtk.require('2.0')
> import gtk
>
> class HelloWorld(gtk.Window):
> def delete_event(self, widget, event, data=None):
> print "delete event occurred"
> return False
>
> def destroy(self, widget, data=None):
> gtk.main_quit()
>
> def __init__(self):
> super(HelloWorld, self).__init__(gtk.WINDOW_TOPLEVEL)
> self.connect("delete_event", self.delete_event)
> self.connect("destroy", self.destroy)
> self.set_border_width(10)
> self.button = gtk.Button("Hello World")
> self.button.connect_object("clicked", gtk.Widget.destroy, self)
> self.add(self.button)
> self.button.show()
> self.show()
>
> def main(self):
> gtk.main()
>
> def do_realize(self):
> print "do_realize is overriden"
>
> if __name__ == "__main__":
> hello = HelloWorld()
> hello.main()
>
>
> Thanks,
> Kwang Yul Seo
>
--
----
kani
More information about the pygtk
mailing list