Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Python by darklin ( 18 years ago )
import pygtk
pygtk.require('2.0')
import gtk

class HelloWorld2:
    def callback(self, widget, data):
        print "Hello again - %s was pressed" % data

    def delete_event(self, widget, event, data = None):
        print "EXIT"
        return False

    def destroy(self, widget, data = None):
        gtk.main_quit()

    def test(self, widget, data = None):
        event = gtk.gdk.Event(gtk.gdk.DELETE)
        return widget.emit("delete_event", event)
    
    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Hello World v2")
        self.window.connect("delete_event",self.delete_event)
        self.window.connect("destroy", self.destroy)
        self.window.set_border_width(20)
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)
        self.button1 = gtk.Button("Button 1")
        self.button1.connect("clicked", self.callback, "button 1")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()
        self.button2 = gtk.Button("Button 2")
        self.button2.connect("clicked", self.callback, "button 2")
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()
        #I want my button3 could invoke delete_event to kill the window..
        #I dont want to use destroy() here.
        self.button3 = gtk.Button("Quit")
        self.button3.connect_object("clicked", self.test, self.window)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()
        self.box1.show()
        self.window.show()

def main():
    hello = HelloWorld2()
    gtk.main()

if __name__ == "__main__":
    main()

 

Revise this Paste

Your Name: Code Language: