我需要一些窗口来托管 webkit 或/和 cairo drwaing,但我必须首先处理所有这些以了解我在做什么。
现在。我迷路了,不再明白那是怎么回事。
当我尝试使用绑定或试图弄清楚某些东西的依赖关系时,情况会变得更糟。例如:在 python 中,pyGtk 已弃用并被 pyGObject(有时称为 pyGl !!)
有许多站点,许多下载和版本,混合了过时的和新的参考,但没有一个整体的架构视图。
我不明白..所有这些东西是如何在太多的网站、包和版本中相互混合的?
短篇小说:
如果您正在为 GTK 2 编程,请使用 pyGTK。
如果您正在为 GTK 3 编程,请使用 pyGObject。
长篇大论:
据我了解,pyGTK 是基于 pyGObject 的。GObject 是 GTK 的“对象”API。GTK 是用 C 开发的,它不是一种面向对象的语言。GObject 是一个提供高级面向对象工具的库。所有 GTK 对象都继承自该库提供的 GObject 类。
然后是 GObject-introspection 工作。它的目标是使绑定维护更容易,并使用源代码注释为每种语言(python、C++ 等)自动生成大部分绑定代码。这导致了pyGI中的python端,基于GObject自省的python绑定工作。那时人们被告知将其用于 GTK3 开发。
从此,pyGI曾经提供的GObject-introspection工作被集成到GObject中。pyGObject 最终成为了开发人员在 GTK3 中用于 Python 开发的工具。
请阅读:
关于 GNOME/GTK 关系:
GTK 是 GNOME 项目使用的工具包。它是从 GIMP 中提取的,因此得名(GTK 代表:GIMP Tool Kit)。GTK 是 GNOME 项目的核心部分,GTK 开发人员也经常参与 GNOME 项目。
我对你提到的那些组件的理解: