接上篇:)
   接下来就要把这个按钮的点击事件和一个函数关联起来. 我们需要再次使用Glade编辑界面来实现这个功能.
   首先在主窗口中选中这个按钮对象然后再在属性窗口中选择”信号”标签页. 在这里我们需要通过点击信息浏览按钮(…)然后选择”Clicked”来添加一个信号.这就默认创建了一个名字为”on_btnHelloWorld_clicked”的处理器”. 我们可以修改这个处理器的名字但是现在使用默认的名字就可以了.

gtk.glade.XML.signal_autoconnect函数来实现.

#Create our dictionay and connect it

dic = { "on_btnHelloWorld_clicked" : self.btnHelloWorld_clicked,

"on_MainWindow_destroy" : gtk.main_quit }

self.wTree.signal_autoconnect(dic)

 简单的讲, 这个词典是由事件名和所要关联的函数构成的. 你可以看到我们把按钮的点击事件和一个函数关联起来,然后再把”on_MainWindow_destory”事件和gtk.mainquit()函数关联起来. 这个是我们原来在关闭掉窗口时程序代码的一个替换, 如果你还想使用原来的词典, 你应当在glade中为主窗口添加一个destory事件.
   下一件事就是为类HeloowWolrdGTK创建btnHelloWorld_clicked函数:

def btnHelloWorld_clicked(self, widget):

print "Hello World!"

 真是太简单了! 现在当你运行它的时候, 点击一下”Click Me!”按钮你可以看到在命令行中输出了”Hello World!”.
这就是本节课的内容, 但是现在我真的喜欢上了使用PyGTK和Glade工作. 下面是完整的程序代码:

#!/usr/bin/env python

import sys

try:

 import pygtk

  pygtk.require("2.0")

except:

  pass

try:

import gtk

  import gtk.glade

except:

sys.exit(1)

class HellowWorldGTK:

"""This is an Hello World GTK application"""

def __init__(self):

#Set the Glade file

self.gladefile = "pyhelloworld.glade"

        self.wTree = gtk.glade.XML(self.gladefile)

#Create our dictionay and connect it

dic = { "on_btnHelloWorld_clicked" : self.btnHelloWorld_clicked,

"on_MainWindow_destroy" : gtk.main_quit }

self.wTree.signal_autoconnect(dic)

def btnHelloWorld_clicked(self, widget):

print "Hello World!"

if __name__ == "__main__":

hwg = HellowWorldGTK()

gtk.main()

有用的链接:

http://www.linuxjournal.com/article/6586
http://www.async.com.br/~kiko/pygtk-web/articles/bitpodder/BitPodder.htm
http://www.linuxjournal.com/article/7421
http://www.pygtk.org/articles.html
http://www.pygtk.org/tutorial.html