Vous êtes à peu près ici : Accueil  »   tutoriel PyGTK  »   PyGTK : sommaire

18.3. Accélérateurs pour les widgets

Les méthodes suivantes :

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

... ajoutent et suppriment des accèlérateurs d'un groupe gtk.AcceleratorGroup qui doit être rattaché au widget de niveau supérieur pour gérer les accélérateurs.

Le paramètre accel_signal est un signal que le widget est en droit d'émettre.

Le paramètre accel_key est la touche du clavier à utiliser comme raccourci.

Le paramètre accel_mods est un groupe de modificateurs puvant être associés à la touche de clavier (par exemple, Shift, 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

Le paramètre accel_flags définit la manière dont les informations au sujet de l'accélérateur sont affichées. Les valeurs possibles sont :

  ACCEL_VISIBLE         # montre le raccourci clavier dans l'affichage du widget
  
  ACCEL_LOCKED          # n'autorise pas la modification de l'affichage de l'accélérateur

Un groupe d'accélérateur est créé par la fonction :

  accel_group = gtk.AccelGroup()

Le paramètre accel_group est lié au widget de niveau supérieur par la fonction :

  window.add_accel_group(accel_group)

Un exemple d'ajout d'accélérateur :

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