Sebagai pelengkap mekanisme signal yang dijelaskan sebelumnya, ada sekumpulan event yang berkaitan dengan mekanisme event X (sistem X Window). Fungsi callback dapat dihubungkan dengan event-event ini. Daftar event ini adalah :
event button_press_event button_release_event scroll_event motion_notify_event delete_event destroy_event expose_event key_press_event key_release_event enter_notify_event leave_notify_event configure_event focus_in_event focus_out_event map_event unmap_event property_notify_event selection_clear_event selection_request_event selection_notify_event proximity_in_event proximity_out_event visibility_notify_event client_event no_expose_event window_state_event
Untuk menghubungkan event ini dengan fungsi callback Anda dapat menggunakan method connect() seperti signal biasa dengan nama event sebagai nama signal. Namun fungsi callback untuk event sedikit berbeda dengan untuk signal :
def fungsi_callback(widget,gdk_event,callback_data):
def method_callback(self,widget,gdk_event,callback_data):
gdk_event adalah objek dengan atribut tipenya menyatakan jenis event yang terjadi. Atribut yang lain dari event tergantung pada tipe event. Kemungkinan tipenya adalah :
NOTHING DELETE DESTROY EXPOSE MOTION_NOTIFY BUTTON_PRESS _2BUTTON_PRESS _3BUTTON_PRESS BUTTON_RELEASE KEY_PRESS KEY_RELEASE ENTER_NOTIFY LEAVE_NOTIFY FOCUS_CHANGE CONFIGURE MAP UNMAP PROPERTY_NOTIFY SELECTION_CLEAR SELECTION_REQUEST SELECTION_NOTIFY PROXIMITY_IN PROXIMITY_OUT DRAG_ENTER DRAG_LEAVE DRAG_MOTION DRAG_STATUS DROP_START DROP_FINISHED CLIENT_EVENT VISIBILITY_NOTIFY NO_EXPOSE SCROLL WINDOW_STATE SETTING
Nilai ini dapat diakses melalui awalan gtk.gdk, contohnya : gtk.gdk.DRAG_ENTER . Misalnya kita akan menghubungkan salah satu event ini ke fungsi callback :
button.connect("button_press_event", button_press_callback)
Sebagai contoh button adalah widget GtkButton. Jika tombol mouse ditekan maka fungsi button_press_callback akan dipanggil. Fungsi ini didefiniskan sebagai :
def button_press_callback(widget,event,data):
Nilai yang dikembalikan oleh fungsi ini mempengaruhi apakan event akan diteruskan oleh mekanisme event GTK. Jika gtk.TRUE menyatakan bahwa event telah dikuasai dan tidak perlu diteruskan lebih jauh. Jika gtk.FALSE maka event akan diteruskan seperti biasa.
GDK drag-and-drop serta selection API juga menyebabkan beberapa event yang oleh GTK diteruskan menjadi signal.
selection_received selection_get drag_begin_event drag_end_event drag_data_delete drag_motion drag_drop drag_data_get drag_data_received