Структура моего пользовательского интерфейса представляет собой наложение с полем с изображением, наложение отображается сверху. потока.
В настоящее время я пытаюсь использовать EventControllerKey для получения ключевых событий.
Код: Выделить всё
self.keyevent = Gtk.EventControllerKey.new()
self.add_controller(self.keyevent)
self.keyevent.connect('key-pressed', self.on_key_press_event)
def on_key_press_event(self, event_controller_key,keyval,keycode,state):
key = Gdk.keyval_name(keyval)
if key == "Escape":
print("Escape")
return True
elif key == "Left":
print("Left")
return True
elif key == "Right":
print("Left")
return True
return False
Я понял, что клавиши со стрелками срабатывают внутри flowbox, когда навигация перемещается внутри Flowbox, и self.flowbox.connect('move_cursor', self.changed_flowbox) также срабатывает с помощью клавиш со стрелками.
Так есть ли какой-нибудь способ перехватывать навигацию по блоку управления или напрямую фиксировать нажатия клавиш?
Я использую GTK4 с PyGObject.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -pygobject