builder.connect_signals has no effect
If I connect signals manualy -- it works.
But using connect_signals does nothing.
----
import pygtk
pygtk.require('2.0')
import gtk
class Application(object):
def close_app(self, widget, data=None):
gtk.main_quit()
def __init__(self):
builder = gtk.Builder()
builder.add_from_file('test.glade')
self._test = builder.get_object('dialog1')
# uncommenting this line gets expected behaviour
# gtk.main_quit() will be called
#self._test.connect('delete-event',
self.close_app)
builder.connect_signals({
# any of these don't work
'on_dialog1_delete' : self.close_app,
'on_dialog1_destroy' : self.close_app,
'on_dialog1_close' : self.close_app,
})
self._test.show()
if __name__=='__main__':
app = Application()
gtk.main()
------------
test.glade is:
---------------------------
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkDialog" id="dialog1">
<property name="border_width">5</property>
<property name="type_hint">normal</property>
<property name="has_separator">False</property>
<child internal-child="vbox">
<object class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
<object class="GtkCalendar" id="calendar1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="year">2010</property>
<property name="month">10</property>
<property name="day">25</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkHButtonBox" id="dialog-action_area1">
<property name="visible">True</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label" translatable="yes">button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="0">button1</action-widget>
<action-widget response="0">button2</action-widget>
</action-widgets>
</object>
</interface>
----------------------------
Gtk+ version is 2.21.1
PyGTK version is 2.17.0
Glade version is 3.6.7
All simply installed from ubuntu repository.
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/