#!/usr/bin/python import pygtk pygtk.require("2.0") import gtk import glib class HelloWorld: def hello(self, widget, data=None): print "Hello world" def delete_event(self, widget, event, data=None): print "Delete event occurred" return False def destroy(self, widget, data=None): gtk.main_quit() def time_update(self): self.time_count += 5 self.label.set_text("Time of running is now %d" % self.time_count) print "Update at %d" % self.time_count return True def __init__(self): self.time_count = 0 glib.timeout_add(5000, self.time_update) self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_border_width(10) self.window.connect("delete_event", self.delete_event) self.window.connect("destroy", self.destroy) self.button = gtk.Button("Hello world") self.button.connect("clicked", self.hello, None) self.button.connect_object("clicked", gtk.Widget.destroy, self.window) self.box = gtk.HBox() self.box.add(self.button) self.label = gtk.Label("my text") self.box.add(self.label) self.label.show() self.button.show() self.window.add(self.box) self.box.show() self.window.show() def main(self): gtk.main() if __name__ == "__main__": hello = HelloWorld() hello.main()