含有章节索引的 *PUG 文章通用模板 ::-- ehu4ever [2005-09-14 13:59:16]

CPUG联盟::

CPUG::门户plone

BPUG

SPUG

ZPUG

SpreadPython Python宣传

1. 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就可以了。

   1 #!/usr/bin/env python
   2 '''
   3 findgtk.py - Find the pyGTK libraries, wherever they are.
   4 '''
   5 import os
   6 import sys
   7 sys.path.append("/usr/local/lib/python2.3/site-packages/")
   8 def try_import():
   9     import sys
  10     """tries to import gtk and if successful, returns 1"""
  11     #print "Attempting to load gtk...Path=%s"%sys.path
  12     # To require 2.0
  13     try:
  14       import pygtk
  15       pygtk.require("2.0")
  16     except:
  17       print "pyGTK not found. You need GTK 2 to run this."
  18       print "Did you \"export PYTHONPATH=/usr/local/lib/python2.2/sitepackages/\" first?"
  19       print "Perhaps you have GTK2 but not pyGTK, so I will continue to try loading."
  20     
  21     try:
  22       import gtk, gtk.glade
  23       import atk, pango #for py2exe
  24       import gobject
  25     except:
  26       import traceback, sys
  27       traceback.print_exc(file=sys.stdout)
  28       print "I??m sorry, you apparently do not have GTK2 installed - I tried"
  29       print "to import gtk, gtk.glade, and gobject, and I failed."
  30       return 0
  31     
  32     return 1
  33 if not try_import():
  34     site_packages=0
  35     #for k in sys.path:
  36     # if k.count("site-packages"):
  37     # print "existing site-packages path %s found\n"%k
  38     # site_packages=1
  39     if site_packages == 0:
  40       from stat import *
  41       #print "no site-packages path set, checking.\n"
  42       check_lib = [ "/usr/lib/python2.2/site-packages/", 
  43                   "/usr/local/lib/python2.2/site-packages/", 
  44                   "/usr/local/lib/python2.3/site-packages/" ]
  45       for k in check_lib:
  46         try:
  47           path=os.path.join(k, "pygtk.py")
  48           #print "Path=%s"%path
  49           if open(path)!=None:
  50             #print "appending", k
  51             sys.path=[k]+sys.path
  52             if try_import():
  53               break
  54         except:
  55           pass
  56     
  57     
  58     if not try_import():
  59       sys.exit(0)

http://www.async.com.br/faq/pygtk/index.py?req=index

http://www.daa.com.au/mailman/listinfo/pygtk

http://www.pygtk.org/articles.html

PyGTK2_intro (last edited 2009-12-25 07:08:31 by localhost)

Loading