私はpythonを使用して最初のGtk3 +アプリケーションを作成している最中であり、ドキュメントがないことに非常にイライラしています:(
さて、私がやろうとしているのは、 Delete TreeView
からアイテムを削除するボタン。コードの「クリック」信号をバインドするための削除ボタンはありません。
これは私のコードです:
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
の- key-press-event 信号を関数に接続し、それが Delete 押されたキー。
def on_treeview_key_press_event(self, widget, event):
key = Gdk.keyval_name(event.keyval)
if key == 'Delete':
self.remove_items()