你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu下PyGtk的开发之 Base.py

[日期:2007-12-09] 来源:Linux公社  作者:lulinbest [字体: ]

  大致感觉PyGtk不难,使用上和Tkinter之类的都差不多。网上说当把逻辑代码和视图代码结合在一起时,PyGtk做的是最好的,应该能在以后的学习中体会到吧。但现在对某些东西仍有疑惑。

  PyGtk2.0是一个Python模块的集合,提供了对GTK+2.X的Python接口。

  GTK(GIMP Toolkit)是创建图形用户界面的一个库,完全用C语言编写。

Base.py

#!/usr/bin/envpython
#examplebase.py
import pygtk
pygtk.require(2.0)
import gtk

class Base:

def __init__(self):
  self.window=gtk.Window(gtk.WINDOW_TOPLEVEL)
  self.window.show()

def main(self):
  gtk.main()


print __name__

if __name__=="__main__":
  base=Base()
  base.main()

为什么可以“import gtk”呢?gtk是gtk.py文件吗?好像不是,我没找到。

在Windows和Linux两个操作系统之下注释掉“import pygtk”和“pygtk.require(2.0)”程序照常可以运行,也就是说pygtk根本没用上。可以看见代码里的调用也只是调用了gtk。但gtk是C语言写的啊,为什么在python里没通过pygtk却直接可以调用访问了呢?

搞不清pygtk和gtk之间的关系,和各自的组织结构。

------------------------------------------------------

 去食堂买饭等待的时候突然想起了Eclipse,为什么不用CTRL+CLICK的方式点击查看gtk文件呢?这样不就知道它的位子了么?事实证明这招不好使,最终是使用Debug的方法跟踪找到的。

“import gtk”其实是执行了“C:\Python25\Lib\site-packages\gtk-2.0\gtk\__init__.py”文件。
在这个文件中有一句“from gtk import _gtk”导入了gtk文件夹下的_gtk.pyd文件。下面还有一句“from gtk._gtk import *”是从这个.pyd文件中导入的。其中包含了“Label”,“Button”等等等等。


“gtk.Window(gtk.WINDOW_TOPLEVEL)”中的“Window”和“WINDOW_TOPLEVEL”都来自于gtk中的gdk,可以使用“from gtk import gdk”“dir(gdk)”查看。

linux
相关资讯       Ubuntu程序 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款