PyGObject GTK+ 3 - 文档?

2024-02-17

PyGObject 似乎没有真正的文档。本教程 http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html已经很接近了。我整个早上都在努力寻找对被接受的论点的描述Gtk.Window构造函数。看来我不能在 Python 中做太多反射,因为 PyGObject 中的所有内容都是动态生成的。

我只想知道我可以将哪些参数传递给这个构造函数! GTK+ 3 文档中似乎没有该对象的等效项,并且阅读源代码来找出绑定已被证明是一项极其艰巨的任务。有任何想法吗??


我同意这是 PyGObject 在当前状态下的一个巨大缺点。对于我们这些已经使用 GTK+ 一段时间的人来说,这没有问题,但是,对于新用户来说,这可能会令人困惑。

人们正在开发一个系统来自动生成 C 以外的语言的文档,该系统被称为GObject 自省文档工具 https://live.gnome.org/GObjectIntrospection/Doctools。由于还没有准备好,您最好使用C API 文档 http://developer.gnome.org/gtk3/stable/并了解它如何转换为 Python。这并不像听起来那么难。

请记住,Python 调用动态包装到底层 C 库。您需要做的就是了解一些事情是如何的通常翻译为 Python 并了解 GTK+“属性”如何工作。它基本上是 C 语言的命名约定,并且模式很容易学习。这PyGObject/内省移植 https://live.gnome.org/PyGObject/IntrospectionPorting页面是一个好的开始。

Python 中的构造函数通常被包装到*_new()C 中的函数。PyGObject 还允许您传入any属于该小部件的 GTK+ 属性作为构造函数中的关键字参数。因此,在 Python 中构建小部件时您有很多选择。

你曾提到过GtkWindow。如果你看一下GtkWindow 文档 http://developer.gnome.org/gtk3/stable/GtkWindow.html, the gtk_window_new()在 C 中,函数将窗口类型作为参数。在 Python 中,这将是构造函数的位置参数。 PyGObject“覆盖”构造函数,以便type是可选的,默认为顶级窗口。有一堆Gtk 窗口属性 http://developer.gnome.org/gtk3/stable/GtkWindow.html#GtkWindow.properties也可以作为关键字参数传递给构造函数。

以下是构建的 3 个示例Gtk.Window在 Python 中,它们在功能上是等效的:

# this is very close to how it's done in C using get_*/set_* accessors.
window = Gtk.Window(Gtk.WindowType.TOPLEVEL)
window.set_title("Hello")

# setting properties as keyword arguments to the constructor
window = Gtk.Window(type=Gtk.WindowType.TOPLEVEL, title="Hello")

# set_properties() can be used to set properties after construction
window = Gtk.Window()
window.set_properties(title="Hello")

Python 交互式控制台是试验小部件和属性的好方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyGObject GTK+ 3 - 文档? 的相关文章

随机推荐