最近开始学习python的GUI,选择了Pygtk,试着用Glade设计界面,项目文件采用Gtkbuilder格式,网上的教程大部分是使用Libglade,所以用xml方式读取.glade文件:
wTree = gtk.glade.XML(gladefile)
运行时会提示:RuntimeError: could not create GladeXML object这是由于Gtkbuilder必须使用自己的方式初始化,而不能使用Libglade的方式:
#初始化 gtkbuilder
builder = gtk.Builder()#设置Glade文件
builder.add_from_file("myfirst.glade") #连接glade文件中的signals builder.connect_signals(self)下来就可以获取glade中的gui对象了
#获取主窗口
self.window=builder.get_object("mainwindow") #显示窗口 self.window.show()注意glade中定义的hander,必须在程序中存在否则会出现如下错误:
RuntimeWarning: missing handler 'gtk_main_quit'
我这里是gtk_main_quit,实现了程序退出,如下:
def gtk_main_quit(self,b):
gtk.main_quit()