# 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")
文档位于此处: https://lazka.github.io/pgi-docs/Gtk-3.0/index.html
Gtk.Window参数(正是您所要求的)如下: https://lazka.github.io/pgi-docs/Gtk-3.0/classes/Window.html
上面有一些交互式控制台解决方案,但我更喜欢自动完成的解决方案: How do I add tab completion to the Python shell?
我同意这是PyGObject在当前状态下的一个巨大缺点。对于我们这些已经使用GTK+一段时间的人来说,这是没有问题的,但是对于新用户来说,这可能会令人困惑。
人们正在开发一个系统来自动生成C语言以外的文档,这种语言称为GObject Introspection Doctools。因为还没有完全准备好,所以最好使用C API documentation并学习如何将其转换为Python。并不像听起来那么难。
记住,Python调用是动态包装到底层C库的。您需要做的就是了解一些东西是如何翻译成Python的,并理解GTK+“properties”是如何工作的。这基本上是C语言中的命名约定,而且模式很容易学习。PyGObject/Introspection Porting页面是一个良好的开始。
Python中的构造函数通常被包装到C中的
*_new()
函数中。PyGObject还允许您将属于该小部件的任何GTK+属性作为关键字参数传入构造函数中。因此,在Python中构造小部件时有很多选项。你提到了
GtkWindow
。如果您查看GtkWindow Documentation,gtk_window_new()
函数在C中将窗口类型作为参数。这将是Python中构造函数的位置参数。PyGObject“重写”构造函数,以便type
是可选的,并且默认为顶级窗口。有一堆GtkWindow properties也可以作为关键字参数传递给构造函数。下面是在Python中构造
Gtk.Window
的三个示例,它们在功能上是等价的:Python交互控制台是一个很好的小部件和属性实验方法。
要稍微扩展到可接受的答案,GObject Introspection Doctools页面有一个关于如何创建自己的文档的部分。
在Ubuntu 12.04.2 LTS上,您可以发出以下命令:
相关问题 更多 >
编程相关推荐