我需要一些窗口来托管 webkit 或/和 cairo drwaing,但我必须首先处理所有这些问题才能了解我在做什么。
现在。我迷失了,不再明白这一切是怎么回事。
当我尝试使用绑定或尝试找出某些东西的依赖关系时,事情会变得更糟。
例如:在 python 中,pyGtk 已弃用并被 pyGObject 取代(有时称为 pyGl!!)
有很多网站,很多下载和版本,混合了过时的和新的参考资料,但没有一个整体的架构视图.
我不明白的是……所有这些东西是如何在太多的站点、包和版本中相互混合的?
短篇故事:
如果您正在为 GTK 2 编程,请使用 pyGTK。
如果您正在为 GTK 3 编程,请使用 pyGObject。
长话短说:
据我了解,pyGTK是基于pyGObject的。 GObject 是 GTK 的“对象”API。 GTK是用C语言开发的,C语言不是面向对象的语言。 GObject 是一个提供高级面向对象功能的库。所有 GTK 对象都继承自该库提供的 GObject 类。
然后是 GObject 内省工作。它的目标是使绑定维护更容易,并使用源代码注释自动生成每种语言(python、C++ 等)的大部分绑定代码。这导致了 pyGI 中的 python 端,即基于 GObject 内省工作的 python 绑定。那时人们被告知将它用于 GTK3 开发。
从那时起,曾经由 pyGI 提供的 GObject-introspection 工作就被集成到了 GObject 中。 pyGObject 最终成为开发者在 GTK3 中进行 python 开发时应该使用的工具。
请阅读:
- https://wiki.gnome.org/Projects/PyGObject
关于 GNOME/GTK 关系:
GTK 是 GNOME 项目使用的工具包。它是从 GIMP 中提取出来的,因此得名(GTK 代表:GIMP Tool Kit)。 GTK 是 GNOME 项目的核心部分,GTK 开发人员也经常参与 GNOME 项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)