Đây là mã cuối cùng đã làm việc. Vì nó phụ thuộc nhiều vào môi trường phát triển của tôi Nhanh chóng + Glade + Python + Gtk, tôi làm cho nó trở thành một câu trả lời độc lập. Câu trả lời của Bryce đã giúp rất nhiều, và trao đổi của tôi với aking1012 cũng vậy .
Mã thực tế, trong một trình soạn thảo văn bản:
# Accelerators
self.my_accelerators = Gtk.AccelGroup()
self.window = self.builder.get_object("discvur_window")
self.window.add_accel_group(self.my_accelerators)
self.entry = self.builder.get_object("entry1")
self.add_accelerator(self.entry, "<Control>b", signal="backspace")
…
def add_accelerator(self, widget, accelerator, signal="activate"):
"""Adds a keyboard shortcut"""
if accelerator is not None:
#if DEBUG:
#print accelerator, widget.get_tooltip_text()
key, mod = Gtk.accelerator_parse(accelerator)
widget.add_accelerator(signal, self.my_accelerators, key, mod, Gtk.AccelFlags.VISIBLE)
print "The accelerator is well added with the signal " + signal
def on_erasing(self, widget):
print "It works."
Trong Glade, tôi đã tạo một GtkEntry có tên là "entry1" trong cửa sổ của mình có tên là "Discvur_window". Trong tab 'Tín hiệu', tôi đã đưa ra tín hiệu "backspace" một trình xử lý có tên là "on_erasing".
Bây giờ, nhấn Backspacehoặc Ctrl+ Blàm cho thiết bị đầu cuối in "Nó hoạt động.".