Key Press Detection When Gtk.Entry is in Focus

I tried to create an Entry widget that clears its contents when I press Esc.
Here is what I tried -

class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)
        editor = Gtk.Entry()
        self.add(editor)

I don’t know what to connect the widget to. Esc is a keystroke, but a keystroke should occur when the recording is in focus. I am completely lost.

Please help me make a record that clears when I press Esc and focus.

+4
source share
1 answer

Gtk.Entry "key-press-event" / "key-release-event", . , /, . , Escape, , . ( Gdk.Event.KEY_PRESS Gdk.Event.KEY_RELEASE). Gdk.KEY_* , . - :

...
    def on_key_release(self, widget, ev, data=None):
        if ev.keyval == Gdk.KEY_Escape: #If Escape pressed, reset text
            widget.set_text("")
...
    def __init__(self):
        Gtk.Window.__init__(self)
        editor = Gtk.Entry()
        editor.connect("key-release-event", self.on_key_release)   
        self.add(editor)

, , .
, !

+6

All Articles