修改GUI以Glade开头

问题描述:

我刚开始用pyGTK学习Glade。由于Glade生成的是XML文件而不是实际的Python代码,是否有一种很好的方式来使用Glade启动项目,然后手动编写更多代码或对其进行调整?修改GUI以Glade开头

有没有时间或理由可以选择手动代码而不是从空地开始?

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

使用gtkbuilder,您可以使用gtkbuilder从XML文件中检索GUI对象来创建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界面中的信号指定的功能并将其附加到它上面;如果未提供该功能,则会在命令行上看到警告。

+0

谢谢。这非常有帮助。 – TimothyAWiseman 2009-09-19 14:52:15

你对glade和pygtk了解多少? Glade创建xml文件,但是您可以使用gtk.Builder在python中加载这些文件。你可以很容易地调整你用python中的glade创建的小部件。阅读这些tutorials以了解如何更好地做到这一点。你只需要了解更多关于pygtk和glade的知识,这很明显。

+0

我目前知道的很少,两天前我开始和他们一起玩。我已经开始阅读教程,并且我很乐意制作几个简单的guis,但是因为它刚刚将guis放在了以前的命令行程序中,所以它们并不复杂。 感谢您的链接。 – TimothyAWiseman 2009-09-12 21:05:09