Я нахожусь в процессе создания моего первого приложения Gtk3 + с использованием Python, и я очень разочарован отсутствием документации: (
Что я пытаюсь сделать, это настроить Удалить kbd>, чтобы удалить элемент из моего TreeView
, а у меня нет кнопки удаления, чтобы привязать сигнал «нажал» для моего кода.
Это мой 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)
Я не понимаю, как сочетание клавиш должно быть привязано к сигналу, а не к функции. Привязка к функции более гибкая.
как связать сочетание клавиш с функцией?
Вместо использования ускорителей вы можете подключить сигнал о событии нажатия клавиши вашего TreeView
к функции и проверить, была ли нажата кнопка Delete kbd> .
def on_treeview_key_press_event(self, widget, event):
key = Gdk.keyval_name(event.keyval)
if key == 'Delete':
self.remove_items()