Python Gtk событие игнорировать
Я хотел бы игнорировать некоторые ключевые события в текстовом представлении, теперь я делаю следующее
def on_key_press_event(self,source,event):
keyname = Gdk.keyval_name(event.keyval)
if(keyname=="Return"):
tv = self.builder.get_object('txtMsg')
buf = tv.get_buffer()
msg = buf.get_text(buf.get_start_iter(),buf.get_end_iter(),self)
msg=msg.replace("\n","")
buf.set_text(msg)
Есть ли какая-либо функция, эквивалентная Java-функции event.consume() в python?
1 ответ
Решение
Чтобы остановить распространение события (если оно не было настроено с помощью connect_after
), Вы можете запустить
object.emit_stop_by_name(event_name)
Например, если я подключил событие нажатия клавиши следующим образом:
self.textview.connect("key-press-event", self.on_key_press)
Я могу остановить его распространение так:
def on_key_press(self, widget, event):
self.textview.emit_stop_by_name("key-press-event")