##language:zh #pragma section-numbers on ''' 含有章节索引的 *PUG 文章通用模板 ''' ::-- ehu4ever [<>] <> ## 默许导航,请保留 <> = PyGTK Introduction = ''会者不难,难者不会'' 首先,我们要掌握其基本概念和基本使用方法。 安装上pygtk是第一步,这里我说一下windows中是怎样的。我建议下载: http://www.pcpm.ucl.ac.be/~gustin/win32_ports/binaries/pygtk-2.6.2-2.win32-py2.4.exe 和 http://jaist.dl.sourceforge.net/sourceforge/gladewin32/gtk-win32-devel-2.6.10-rc1.exe ,分别安装它们。 安装后在python的console中测试是否安装成功: {{{ >>> import pygtk >>> pygtk.require(“2.0”) >>> import gtk }}} 更为理想的载入方法是下面这种,虽然复杂,但是可迁移。可以把它存为一个module:findgtk.py,要用的时候只要import findgtk就可以了。 {{{#!python #!/usr/bin/env python ''' findgtk.py - Find the pyGTK libraries, wherever they are. ''' import os import sys sys.path.append("/usr/local/lib/python2.3/site-packages/") def try_import(): import sys """tries to import gtk and if successful, returns 1""" #print "Attempting to load gtk...Path=%s"%sys.path # To require 2.0 try: import pygtk pygtk.require("2.0") except: print "pyGTK not found. You need GTK 2 to run this." print "Did you \"export PYTHONPATH=/usr/local/lib/python2.2/sitepackages/\" first?" print "Perhaps you have GTK2 but not pyGTK, so I will continue to try loading." try: import gtk, gtk.glade import atk, pango #for py2exe import gobject except: import traceback, sys traceback.print_exc(file=sys.stdout) print "I??m sorry, you apparently do not have GTK2 installed - I tried" print "to import gtk, gtk.glade, and gobject, and I failed." return 0 return 1 if not try_import(): site_packages=0 #for k in sys.path: # if k.count("site-packages"): # print "existing site-packages path %s found\n"%k # site_packages=1 if site_packages == 0: from stat import * #print "no site-packages path set, checking.\n" check_lib = [ "/usr/lib/python2.2/site-packages/", "/usr/local/lib/python2.2/site-packages/", "/usr/local/lib/python2.3/site-packages/" ] for k in check_lib: try: path=os.path.join(k, "pygtk.py") #print "Path=%s"%path if open(path)!=None: #print "appending", k sys.path=[k]+sys.path if try_import(): break except: pass if not try_import(): sys.exit(0) }}} * 有用的资源: *pygtk的faq是一个wiki,它内容广泛,更新也很快。有时候,在pygtk的maillist中的提问,它的维护者会在faq中作答。 http://www.async.com.br/faq/pygtk/index.py?req=index *pygtk的maillist应该常去,pygtk的维护者都在那。 http://www.daa.com.au/mailman/listinfo/pygtk *对于初学者还有很多的入门文章: http://www.pygtk.org/articles.html