WEB开发网
开发学院软件开发Python 在 Python 中封装 GObject 阅读

在 Python 中封装 GObject

 2007-03-29 12:14:54 来源:WEB开发网   
核心提示: 既然我们构造了覆盖文件,那么就可以使用它来生成包装器,在 Python 中封装 GObject(4), gnome-python 绑定为生成包装器提供了一种神奇的工具,我们可以随意使用它,代码生成器的最后一个选项是定义文件本身,代码生成器在标准输出上进行输出,将下列内容添加到 makefi

既然我们构造了覆盖文件,那么就可以使用它来生成包装器。 gnome-python 绑定为生成包装器提供了一种神奇的工具,我们可以随意使用它。将下列内容添加到 makefile:

清单 2. 初始 makefile

DEFS='pkg-config --variable=defsdir pygtk-2.0'    
trayicon.c: trayicon.defs trayicon.override      
  pygtk-codegen-2.0 --prefix trayicon        
  --register $(DEFS)/gdk-types.defs         
  --register $(DEFS)/gtk-types.defs
  --override trayicon.override           
  trayicon.defs > $@               

再次详细说明:

DEFS='pkg-config --variable=defsdir pygtk-2.0'

DEFS 是包含 Python GTK+ 绑定定义文件的路径。

trayicon.c: trayicon.defs trayicon.override

生成的 C 代码取决于定义文件和覆盖文件。

pygtk-codegen-2.0 --prefix trayicon

这里调用 gnome-python 代码生成器。 prefix 参数被用作在已生成的代码内部的变量名的前缀。您可以随意命名该参数,但使用模块名的话可使符号名保持一致。

--register $(DEFS)/gdk-types.defs

--register $(DEFS)/gtk-types.defs

模块使用 GLib 和 GTK+ 中的类型,所以我们还必须告诉代码生成器装入这些类型。

--override trayicon.override

该参数将我们创建的覆盖文件传递给代码生成器。

trayicon.defs > $@

这里,代码生成器的最后一个选项是定义文件本身。代码生成器在标准输出上进行输出,所以我们将它重定向到目标 trayicon.c。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Python 封装 GObject

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接