Python / glade fundamentals

Doug doug at localhost.localdomain
Fri Mar 17 08:15:50 EST 2006


OK, I have solved the problem.  The reference was a help. The clue is that
the events may not get passed through the parent. For reference here is
the code that worked.
It's good to finally get the basics working.
Doug

import gtk
import gtk.glade

def key_press(widget,event):
   print "keypress"   

xml = gtk.glade.XML('pgtest.glade')
widget = xml.get_widget('drawingarea1')

xml.signal_autoconnect({
  "on_page_key_press_event": key_press,
  "on_page_destroy_event": gtk.main_quit
})

gtk.main()


=======file: pgtest.glade=======

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">

<glade-interface>

<widget class="GtkWindow" id="page">
  <property name="visible">True</property>
  <property name="title" translatable="yes">PGtestWindow</property>
  <property name="type">GTK_WINDOW_TOPLEVEL</property>
  <property name="window_position">GTK_WIN_POS_NONE</property>
  <property name="modal">False</property>
  <property name="default_width">640</property>
  <property name="default_height">480</property>
  <property name="resizable">True</property>
  <property name="destroy_with_parent">True</property>
  <property name="decorated">True</property>
  <property name="skip_taskbar_hint">False</property>
  <property name="skip_pager_hint">False</property>
  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
  <signal name="destroy" handler="on_page_destroy_event" last_modification_time="Fri, 17 Mar 
2006 12:42:42 GMT"/>
  <signal name="key_press_event" handler="on_page_key_press_event" after="yes" last_modificat
ion_time="Fri, 17 Mar 2006 12:56:29 GMT"/>

  <child>
    <widget class="GtkDrawingArea" id="drawingarea1">
      <property name="visible">True</property>
      <signal name="key_press_event" handler="on_drawingarea1_key_press_event" after="yes" la
st_modification_time="Thu, 16 Mar 2006 10:09:36 GMT"/>
      <signal name="destroy" handler="on_drawingarea1_destroy_event" last_modification_time="
Fri, 17 Mar 2006 12:36:08 GMT"/>
    </widget>
  </child>
</widget>

</glade-interface>





More information about the Python-list mailing list