2

我刚开始用 pyGTK 学习 Glade。由于 Glade 生成 XML 文件而不是实际的 python 代码,有没有一种好方法可以使用 Glade 开始一个项目,然后手动编写更多代码或对其进行调整?

是否有时间或理由更愿意手动编写所有代码而不是从 glade 开始?

4

2 回答 2

4

使用 glade 创建的 GUI 可以通过两种方式在代码中访问:libglade 或 gtkbuilder。除了 gtkbuilder 较新之外,我无法对两者之间的差异发表太多评论。google 上有很多页面展示了如何从 libglade 迁移到 gtkbuilder。

使用 gtkbuilder,您可以通过使用 gtkbuilder 从 XML 文件中检索它来创建您的 GUI 对象。这将使用您在 glade 中设置的所有设置创建对象。您现在有了一个 GUI 对象,您可以通过它的常规界面对其进行操作。

builder = gtk.Builder()
builder.add_from_file(glade_path)
builder.connect_signals(self)

main_window = builder.get_object("main_window")
main_window.show()

text_box1 = builder.get_object("textbox1")
text_box1.set_text("enter your name")

第 3 行显示了从 glade 加载时如何附加信号处理程序。本质上,它会在 glade 接口中查找您为信号指定的函数并附加到它;如果未提供该功能,您将在命令行上看到警告。

于 2009-09-19T08:18:04.900 回答
2

你对glade和pygtk了解多少?Glade 创建 xml 文件,但您在 python 中使用 gtk.Builder 加载这些文件。您可以轻松地调整您在 python 中使用 glade 创建的任何小部件。阅读这些教程以了解如何做得更好。你只需要了解更多关于 pygtk 和 glade 的知识,这将是显而易见的。

于 2009-09-12T01:08:05.640 回答