2013-07-15 35 views
0

正如pygtk自己推荐的那样,前进的方向是GObjectIntrospection。我想为使用pygtk.h和pygobject.h的python移植一个​​C API。任何人都可以告诉我如何做到这一点的文件的方式?将一个基于pygtk的C API移植到pygobject

+0

'仍然需要pygobject.h',只有PyGTK是不再需要。问题是:C API有什么作用?如果它只是将自定义的GTK小部件暴露给Python,那么您根本不应该使用它,它们应该已经可以通过gobject-introspection获得。 – user4815162342

+0

其实,https://github.com/codebrainz/geanypy是我正在谈论的代码库。它公开了python的geany编辑器插件API,但使用pygtk。 – sagarchalise

+0

它不明显,为什么它需要'pygtk.h' - 除'init_pygtk()'之外,搜索不会显示任何调用的'pygtk_'函数或类型。一个好的开始是简单地移除包含并查看什么是中断,以及是否只使用PyGObject就可以实现所需的功能。 – user4815162342

回答

0

实际上pygtk_init()pygobject_init()是pygtk头文件中的宏。我们应该使用init_pygobject()函数,该函数需要3个主要参数,次要和微观版本号或(-1,-1,-1),这是默认的工作方式。此外,为了顺利运行你的移植应用程序,你可能需要PySys_SetArgv(0, "[]")这是在我的情况。

这里是代码,我想这对:

https://github.com/sagarchalise/geanypy/tree/gtk3