Gtk3 + сочетания клавиш без согласования сигналов

Я нахожусь в процессе создания моего первого приложения Gtk3 + с использованием Python, и я очень разочарован отсутствием документации: (

Что я пытаюсь сделать, это настроить Удалить , чтобы удалить элемент из моего 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)

Я не понимаю, как сочетание клавиш должно быть привязано к сигналу, а не к функции. Привязка к функции более гибкая.

как связать сочетание клавиш с функцией?

4
задан 26 November 2013 в 12:10

1 ответ

Вместо использования ускорителей вы можете подключить сигнал о событии нажатия клавиши вашего TreeView к функции и проверить, была ли нажата кнопка Delete .

def on_treeview_key_press_event(self, widget, event):
    key = Gdk.keyval_name(event.keyval)
    if key == 'Delete':
        self.remove_items()
0
ответ дан 26 November 2013 в 12:10

Другие вопросы по тегам:

Похожие вопросы: