Как перехватывать нажатия клавиш со стрелками из FlowBox на GTK4 с помощью PyGobjectPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как перехватывать нажатия клавиш со стрелками из FlowBox на GTK4 с помощью PyGobject

Сообщение Anonymous »

Я пытаюсь добиться нажатия клавиш со стрелками для вызова функции в поле внутри наложения.
Структура моего пользовательского интерфейса представляет собой наложение с полем с изображением, наложение отображается сверху. потока.
В настоящее время я пытаюсь использовать 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
Клавиша Escape срабатывает, а левая и правая клавиши — нет.
Я понял, что клавиши со стрелками срабатывают внутри flowbox, когда навигация перемещается внутри Flowbox, и self.flowbox.connect('move_cursor', self.changed_flowbox) также срабатывает с помощью клавиш со стрелками.
Так есть ли какой-нибудь способ перехватывать навигацию по блоку управления или напрямую фиксировать нажатия клавиш?
Я использую GTK4 с PyGObject.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -pygobject
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»