Estoy creando una aplicación para Ubuntu App Showdown en Python + Gtk con rapidez. Lo llamo Discvur. Me hubiera gustado incluir algunos atajos de teclado.
Al buscar en la web, encontré esta página sobre AccelGroup y esta página sobre gtk_widget_add_accelerator, pero no entiendo cómo comenzar con ella. ¿Podría decirme cómo definiría una señal apropiada y luego la usaría en mi aplicación?

Respuestas:
Aquí hay algunos bits de código de una de mis aplicaciones Python + Gtk, más ampliadas de acuerdo con los comentarios a esta respuesta:
fuente
self.add_accelerator(self.quick_add_entry, "<Control>l", signal="grab-focus") AttributeError: 'DiscvurWindow' object has no attribute 'quick_add_entry'. Cuando intento una búsqueda web de "quick_add_entry", no puedo encontrarla en ningún lado. ¿Estás seguro de que es la función correcta? ¿Dónde puedo encontrar más información / un tutorial para esto? Además, ¿"<Control> l" significa Ctrl + l o es un tipo incorrecto?Aquí está el código que finalmente funcionó. Como depende en gran medida de mi entorno de desarrollo Quickly + Glade + Python + Gtk, lo hago una respuesta independiente. La respuesta de Bryce ayudó mucho, y mis intercambios con aking1012 también .
El código real, en un editor de texto:
En Glade, creé un GtkEntry llamado "entry1" en mi ventana llamada "discvur_window". En la pestaña 'Señales', le di a la señal "retroceso" un controlador llamado "on_erasing".
Ahora, presionar Backspaceo Ctrl+ Bhace que el terminal imprima "Funciona".
fuente
He reempacado las respuestas dadas en este hilo en un ejemplo independiente:
Nota: La señal predeterminada es
clicked, noactivateporque las aplicaciones nunca deberían conectarse a la::activateseñal, sino porque usan la::clickedseñal Gtk.Button .fuente
clickedel acelerador se puede machacar muy rápidamente, pero el botón no se presiona visualmente. Cuando se usaactivate, el botón se presionará, pero el acelerador solo se puede presionar una vez que finaliza la depresión visual.