18.3. Atajos de Teclado de los Controles

Los siguientes métodos:

  widget.add_accelerator(accel_signal, accel_group, accel_key, accel_mods, accel_flags)

  widget.remove_accelerator(accel_group, accel_key, accel_mods)
      

añaden y eliminan atajos de teclado a un Grupo de Atajos de Teclado (gtk.AcceleratorGroup) que, asociado al control de nivel más alto de un conjunto de ellos, hace que se gestionen los atajos de teclado de éstos.

El parámetro accel_signal es una señal que puede emitir el control .

El parámetro accel_key es la tecla que se usará como atajo de teclado.

El parámetro accel_mods es un grupo de modificadores que se añaden a la tecla accel_key (por ejemplo Shift (mayúsculas), Control, etc.):

  SHIFT_MASK
  LOCK_MASK
  CONTROL_MASK
  MOD1_MASK
  MOD2_MASK
  MOD3_MASK
  MOD4_MASK
  MOD5_MASK
  BUTTON1_MASK
  BUTTON2_MASK
  BUTTON3_MASK
  BUTTON4_MASK
  BUTTON5_MASK
  RELEASE_MASK
      

El parámetro accel_flags es un conjunto de opciones sobre cómo se muestra la información del atajo de teclado. Los valores posibles son:

  ACCEL_VISIBLE         # mostrar la tecla de aceleración en el control

  ACCEL_LOCKED          # no permitir que la ventana del atajo de teclado cambie
      

Un grupo de atajos de teclado se crea con la función:

  accel_group = gtk.AccelGroup()
      

El grupo accel_group se añade a una ventana de nivel superior con el siguiente método:

  window.add_accel_group(accel_group)
      

Ejemplo de cómo añadir un atajo de teclado:

  menu_item.add_accelerator("activate", accel_group,
                            ord('Q'), gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)