Python+GtkBuilder+Gtk+

一、使用Glade3创建GtkBuilder格式,并保存hello_gtkBuilder.glade,内容如下:

 <?xml version="1.0" encoding="UTF-8"?> 

<interface> 

<requires lib="gtk+" version="2.16"/>

 <!-- interface-naming-policy project-wide -->

 <object class="GtkWindow" id="mainWindow">

 <child> 

<object class="GtkHButtonBox" id="hbuttonbox"> 

<property name="visible">True</property>

 <child> 

  <object class="GtkButton" id="cmdOK">

 <property name="label">gtk-ok</property> 

  <property name="visible">True</property>

 <property name="can_focus">True</property>

 <property name="receives_default">True</property>

 <property name="use_stock">True</property>

 <signal name="clicked" handler="on_cmdOK_clicked"/>

 </object>

 <packing>

 <property name="expand">False</property>

 <property name="fill">False</property> 

<property name="position">0</property> 

</packing> 

</child> 

<child> 

<object class="GtkButton" id="cmdCancel"> 

<property name="label" translatable="yes">Cancel</property>

 <property name="visible">True</property>

 <property name="can_focus">True</property>

 <property name="receives_default">True</property>

 <signal name="clicked" handler="on_cmdCancel_clicked"/>

 </object>

 <packing>

 <property name="expand">False</property>

 <property name="fill">False</property>

 <property name="position">1</property>

 </packing>

 </child>

 </object>

 </child>

 </object>

 </interface>

 

 

二、创建hello_gtkBuilder.py ,内容如下:

#!/usr/bin/env python 

 # hello_gtkBuilder.py 

 importpygtk 

 pygtk.require('2.0') 

 importgtk 

 classHelloWorld:

 def__init__(self): 

     self.gladeMain = gtk.Builder() 

     self.gladeMain.add_from_file("hello_gtkBuilder.glade") 

     self.gladeMain.connect_signals(self)

     self.mainWindow = self.gladeMain.get_object("mainWindow") 

     self.mainWindow.set_position(gtk.WIN_POS_CENTER_ALWAYS) 

     self.mainWindow.set_default_size(210, 60) 

     self.mainWindow.show() 

def on_cmdCancel_clicked(self, *args): 

     print"on_cmdCancel_clicked" 

     gtk.main_quit() 

 def on_cmdOK_clicked(self, *args): 

     print"on_cmdOK_clicked occurred: Hello World" 

     self.mainWindow.set_title("Hello World") 

 def main(self): 

    gtk.main() 

 if__name__ == "__main__": 

    hello = HelloWorld() 

   hello.main()


你可能感兴趣的:(Python+GtkBuilder+Gtk+)