PyGTK事件定义类

时间:2013-05-01 10:03:51

标签: pygtk

在许多PyGTk教程中,事件处理程序的定义如下。

window.connect("destroy", self.close)
button.connect("clicked", self.print_hello_world)

是否有任何类封装“destroy”,“clicked”字符串文字,因为我想将它们作为常量访问。

1 个答案:

答案 0 :(得分:2)

在小型应用中,我们可能会编写如下代码:

class MyApp():
    def __init__(self):
        self.win = Gtk.Window()
        self.win.set_size_request(400, 300)
        self.win.connect('destroy', self.on_app_exit)

        btn = Gtk.Button("hello")
        btn.connect('clicked', self.on_button_clicked)

    def run(self):
        self.win.show_all()
        Gtk.main()

    def on_app_exit(self, window):
        // do something.
        Gtk.main_quit()

    def on_button_clicked(self, btn):
        print('hello, world')

def main():
    app = MyApp()
    app.run()

if __name__ == '__main__':
    main()