Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Abente Lahaye <tch@sugarlabs.org>2013-01-15 20:43:41 (GMT)
committer Martin Abente Lahaye <tch@sugarlabs.org>2013-01-15 20:43:41 (GMT)
commit7e9cd87f080d5e4e16995b660f90a3fe7797aa5e (patch)
tree62c482f30e64aa6614ca442aeaa5a2663ed8efa5
parent181977bea7db5fb464f6a488a50b096850dc97ab (diff)
gtk capture key press events
-rwxr-xr-x009-gtk-capture-keys/example.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/009-gtk-capture-keys/example.py b/009-gtk-capture-keys/example.py
new file mode 100755
index 0000000..c451161
--- /dev/null
+++ b/009-gtk-capture-keys/example.py
@@ -0,0 +1,32 @@
+#!/usr/bin/python
+import gtk
+
+
+class MyApp():
+
+ def __init__(self):
+ window = gtk.Window()
+ window.set_title('Grabbing keys example.')
+
+ label = gtk.Label()
+ label.set_text('Press any key.')
+
+ window.connect('destroy', self.destroy)
+ window.connect('key-press-event', self.__key_press_cb, label)
+
+ window.add(label)
+
+ window.show()
+ label.show()
+
+ def destroy(self, window, event=None):
+ gtk.main_quit()
+
+ def __key_press_cb(self, window, event, label):
+ key_name = gtk.gdk.keyval_name(event.keyval)
+ label.set_text(key_name)
+
+
+if __name__ == "__main__":
+ my_app = MyApp()
+ gtk.main()