Je suis en train de créer ma première application Gtk3 + en utilisant python, et je suis assez frustré par le manque de documentation :(
Eh bien, ce que j'essaie de faire, c'est de configurer le Delete bouton pour supprimer un élément de mon TreeView
, et je n'ai pas de bouton de suppression afin de lier le signal "cliqué" de celui-ci pour mon code.
Voici mon code:
def make_shortcuts(self):
self.my_accelerators = Gtk.AccelGroup()
self.add_accel_group(self.my_accelerators)
self.add_accelerator(self.treeview, "<Delete>", signal="???")
def add_accelerator(self, widget, accelerator, signal="activate"):
if accelerator is not None:
key, mod = Gtk.accelerator_parse(accelerator)
widget.add_accelerator(signal, self.my_accelerators, key, mod, Gtk.AccelFlags.VISIBLE)
Je ne comprends pas comment un raccourci clavier doit être lié à un signal et non à une fonction. La liaison à une fonction est beaucoup plus flexible.
Existe-t-il un moyen de lier un raccourci clavier à une fonction?
Au lieu d'utiliser des accélérateurs, vous pouvez connecter le signal key-press-event de votre TreeView
à une fonction et vérifier s'il s'agissait bien du Delete touche enfoncée.
def on_treeview_key_press_event(self, widget, event):
key = Gdk.keyval_name(event.keyval)
if key == 'Delete':
self.remove_items()